⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 271226 in webkit


Ignore:
Timestamp:
Jan 6, 2021, 11:52:55 PM (6 years ago)
Author:
mark.lam@apple.com
Message:

Fix a dataMemoryTempRegister use violation in FTLLowerDFGToB3's compileLoopHint().
https://bugs.webkit.org/show_bug.cgi?id=220399

Reviewed by Yusuke Suzuki.

This was tripping an assertion failure on the invalid use of the dataMemoryTempRegister
during a Debug build JSC stress test run with DoesGC validation enabled.

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileLoopHint):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r271224 r271226  
     12021-01-06  Mark Lam  <mark.lam@apple.com>
     2
     3        Fix a dataMemoryTempRegister use violation in FTLLowerDFGToB3's compileLoopHint().
     4        https://bugs.webkit.org/show_bug.cgi?id=220399
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        This was tripping an assertion failure on the invalid use of the dataMemoryTempRegister
     9        during a Debug build JSC stress test run with DoesGC validation enabled.
     10
     11        * ftl/FTLLowerDFGToB3.cpp:
     12        (JSC::FTL::DFG::LowerDFGToB3::compileLoopHint):
     13
    1142021-01-06  Yusuke Suzuki  <ysuzuki@apple.com>
    215
  • trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

    r270874 r271226  
    1507115071                    // We need to mock what a Return does: claims to GC.
    1507215072                    jit.move(CCallHelpers::TrustedImmPtr(vm->heap.addressOfDoesGC()), GPRInfo::regT0);
    15073                     jit.store32(CCallHelpers::TrustedImm32(DoesGCCheck::encode(true, DoesGCCheck::Special::Uninitialized)), CCallHelpers::Address(GPRInfo::regT0));
     15073                    jit.move(CCallHelpers::TrustedImm32(DoesGCCheck::encode(true, DoesGCCheck::Special::Uninitialized)), GPRInfo::regT1);
     15074                    jit.store32(GPRInfo::regT1, CCallHelpers::Address(GPRInfo::regT0));
    1507415075                }
    1507515076            }
Note: See TracChangeset for help on using the changeset viewer.