Ignore:
Timestamp:
Oct 1, 2020, 11:52:35 AM (5 years ago)
Author:
[email protected]
Message:

stress/put-private-name-invalid-define.js.ftl-eager is getting flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217164

Reviewed by Mark Lam.

JIT operations need to use JITOperationPrologueCallFrameTracer to configure top call frame correctly.
But putById private field JIT operations miss them or use wrong frame tracer. Since we are not setting top frame correctly,
exception object creation from this JIT operations can be broken, and leading to stress/put-private-name-invalid-define.js.ftl-eager crash.
This patch configures top call frame via JITOperationPrologueCallFrameTracer appropriately.

  • jit/JITOperations.cpp:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JITOperations.cpp

    r267826 r267846  
    718718    VM& vm = globalObject->vm();
    719719    CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
     720    JITOperationPrologueCallFrameTracer tracer(vm, callFrame);
    720721
    721722    CacheableIdentifier identifier = CacheableIdentifier::createFromRawBits(rawCacheableIdentifier);
     
    752753    VM& vm = globalObject->vm();
    753754    CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
     755    JITOperationPrologueCallFrameTracer tracer(vm, callFrame);
    754756
    755757    CacheableIdentifier identifier = CacheableIdentifier::createFromRawBits(rawCacheableIdentifier);
     
    765767    VM& vm = globalObject->vm();
    766768    CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
    767     NativeCallFrameTracer tracer(vm, callFrame);
     769    JITOperationPrologueCallFrameTracer tracer(vm, callFrame);
    768770
    769771    CacheableIdentifier identifier = CacheableIdentifier::createFromRawBits(rawCacheableIdentifier);
Note: See TracChangeset for help on using the changeset viewer.