Changeset 182091 in webkit


Ignore:
Timestamp:
Mar 27, 2015 5:40:56 PM (9 years ago)
Author:
msaboff@apple.com
Message:

Fix flakey dfg-int8array.js and dfg-int16array.js tests for ARM64
https://bugs.webkit.org/show_bug.cgi?id=138390

Reviewed by Mark Lam.

Source/JavaScriptCore:

Changed load8Signed() and load16Signed() to only sign extend the loaded value to 32 bits
instead of 64 bits. This is what X86-64 does.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::load16Signed):
(JSC::MacroAssemblerARM64::load8Signed):

LayoutTests:

Reenabled the tests for ARM64/iOS. Left the tests disabled for ARM64/linux and will let linux
developers test and reenable under existing but https://bugs.webkit.org/show_bug.cgi?id=142629.

  • js/script-tests/dfg-int16array.js:
  • js/script-tests/dfg-int8array.js:
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r182081 r182091  
     12015-03-27  Michael Saboff  <msaboff@apple.com>
     2
     3        Fix flakey dfg-int8array.js and dfg-int16array.js tests for ARM64
     4        https://bugs.webkit.org/show_bug.cgi?id=138390
     5
     6        Reviewed by Mark Lam.
     7
     8        Reenabled the tests for ARM64/iOS.  Left the tests disabled for ARM64/linux and will let linux
     9        developers test and reenable under existing but https://bugs.webkit.org/show_bug.cgi?id=142629.
     10
     11        * js/script-tests/dfg-int16array.js:
     12        * js/script-tests/dfg-int8array.js:
     13
    1142015-03-27  Jer Noble  <jer.noble@apple.com>
    215
  • trunk/LayoutTests/js/script-tests/dfg-int16array.js

    r182006 r182091  
    22// https://bugs.webkit.org/show_bug.cgi?id=142629
    33
    4 // Fix flakey dfg-int8array.js and dfg-int16array.js tests for ARM64
    5 // https://bugs.webkit.org/show_bug.cgi?id=138390
    6 
    7 //@ skip if $architecture == "arm64"
     4//@ skip if $architecture == "arm64" and $hostOS == "linux"
    85
    96description(
  • trunk/LayoutTests/js/script-tests/dfg-int8array.js

    r182006 r182091  
    22// https://bugs.webkit.org/show_bug.cgi?id=142629
    33
    4 // Fix flakey dfg-int8array.js and dfg-int16array.js tests for ARM64
    5 // https://bugs.webkit.org/show_bug.cgi?id=138390
    6 
    7 //@ skip if $architecture == "arm64"
     4//@ skip if $architecture == "arm64" and $hostOS == "linux"
    85
    96description(
  • trunk/Source/JavaScriptCore/ChangeLog

    r182083 r182091  
     12015-03-27  Michael Saboff  <msaboff@apple.com>
     2
     3        Fix flakey dfg-int8array.js and dfg-int16array.js tests for ARM64
     4        https://bugs.webkit.org/show_bug.cgi?id=138390
     5
     6        Reviewed by Mark Lam.
     7
     8        Changed load8Signed() and load16Signed() to only sign extend the loaded value to 32 bits
     9        instead of 64 bits.  This is what X86-64 does.
     10
     11        * assembler/MacroAssemblerARM64.h:
     12        (JSC::MacroAssemblerARM64::load16Signed):
     13        (JSC::MacroAssemblerARM64::load8Signed):
     14
    1152015-03-27  Saam Barati  <saambarati1@gmail.com>
    216
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h

    r180279 r182091  
    922922    {
    923923        if (!address.offset && (!address.scale || address.scale == 1)) {
    924             m_assembler.ldrsh<64>(dest, address.base, address.index, ARM64Assembler::UXTX, address.scale);
     924            m_assembler.ldrsh<32>(dest, address.base, address.index, ARM64Assembler::UXTX, address.scale);
    925925            return;
    926926        }
     
    928928        signExtend32ToPtr(TrustedImm32(address.offset), getCachedMemoryTempRegisterIDAndInvalidate());
    929929        m_assembler.add<64>(memoryTempRegister, memoryTempRegister, address.index, ARM64Assembler::UXTX, address.scale);
    930         m_assembler.ldrsh<64>(dest, address.base, memoryTempRegister);
     930        m_assembler.ldrsh<32>(dest, address.base, memoryTempRegister);
    931931    }
    932932
     
    963963    {
    964964        if (!address.offset && !address.scale) {
    965             m_assembler.ldrsb<64>(dest, address.base, address.index, ARM64Assembler::UXTX, address.scale);
     965            m_assembler.ldrsb<32>(dest, address.base, address.index, ARM64Assembler::UXTX, address.scale);
    966966            return;
    967967        }
     
    969969        signExtend32ToPtr(TrustedImm32(address.offset), getCachedMemoryTempRegisterIDAndInvalidate());
    970970        m_assembler.add<64>(memoryTempRegister, memoryTempRegister, address.index, ARM64Assembler::UXTX, address.scale);
    971         m_assembler.ldrsb<64>(dest, address.base, memoryTempRegister);
     971        m_assembler.ldrsb<32>(dest, address.base, memoryTempRegister);
    972972    }
    973973
Note: See TracChangeset for help on using the changeset viewer.