Changeset 239929 in webkit


Ignore:
Timestamp:
Jan 14, 2019 10:41:21 AM (5 years ago)
Author:
dinfuehr@igalia.com
Message:

Fix property access on ARM with the baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=193393

Reviewed by Yusuke Suzuki.

Code was still using currentInstruction[4] to access the instruction's metadata.
Updated to use metadata.getPutInfo and metadata.resolveType.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emit_op_put_to_scope):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r239904 r239929  
     12019-01-14  Dominik Infuehr  <dinfuehr@igalia.com>
     2
     3        Fix property access on ARM with the baseline JIT
     4        https://bugs.webkit.org/show_bug.cgi?id=193393
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        Code was still using currentInstruction[4] to access the instruction's metadata.
     9        Updated to use metadata.getPutInfo and metadata.resolveType.
     10
     11        * jit/JITPropertyAccess32_64.cpp:
     12        (JSC::JIT::emit_op_resolve_scope):
     13        (JSC::JIT::emit_op_get_from_scope):
     14        (JSC::JIT::emit_op_put_to_scope):
     15
    1162019-01-12  Timothy Hatcher  <timothy@apple.com>
    217
  • trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp

    r239879 r239929  
    816816    case UnresolvedPropertyWithVarInjectionChecks: {
    817817        JumpList skipToEnd;
    818         load32(&currentInstruction[4], regT0);
     818        load32(&metadata.resolveType, regT0);
    819819
    820820        Jump notGlobalProperty = branch32(NotEqual, regT0, TrustedImm32(GlobalProperty));
     
    941941    case GlobalPropertyWithVarInjectionChecks: {
    942942        JumpList skipToEnd;
    943         load32(&currentInstruction[4], regT0);
     943        load32(&metadata.getPutInfo, regT0);
    944944        and32(TrustedImm32(GetPutInfo::typeBits), regT0); // Load ResolveType into T0
    945945
     
    956956    case UnresolvedPropertyWithVarInjectionChecks: {
    957957        JumpList skipToEnd;
    958         load32(&currentInstruction[4], regT0);
     958        load32(&metadata.getPutInfo, regT0);
    959959        and32(TrustedImm32(GetPutInfo::typeBits), regT0); // Load ResolveType into T0
    960960
     
    10961096    case GlobalPropertyWithVarInjectionChecks: {
    10971097        JumpList skipToEnd;
    1098         load32(&currentInstruction[4], regT0);
     1098        load32(&metadata.getPutInfo, regT0);
    10991099        and32(TrustedImm32(GetPutInfo::typeBits), regT0); // Load ResolveType into T0
    11001100
     
    11151115    case UnresolvedPropertyWithVarInjectionChecks: {
    11161116        JumpList skipToEnd;
    1117         load32(&currentInstruction[4], regT0);
     1117        load32(&metadata.getPutInfo, regT0);
    11181118        and32(TrustedImm32(GetPutInfo::typeBits), regT0); // Load ResolveType into T0
    11191119
Note: See TracChangeset for help on using the changeset viewer.