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

Changeset 287624 in webkit


Ignore:
Timestamp:
Jan 5, 2022, 10:20:53 AM (5 years ago)
Author:
Russell Epstein
Message:

Cherry-pick r286249. rdar://problem/87124979

[JSC] private name operation should use RETURN_IF_EXCEPTION
​https://bugs.webkit.org/show_bug.cgi?id=233577
rdar://85813869

Reviewed by Mark Lam.

JSTests:

  • stress/termination-error-in-private-name.js: Added. (C):

Source/JavaScriptCore:

Because of TerminatedExecutionError, error can be thrown at any time.

  • jit/JITOperations.cpp: (JSC::JSC_DEFINE_JIT_OPERATION): (JSC::putPrivateNameOptimize): (JSC::putPrivateName):
  • llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL):

git-svn-id: ​https://svn.webkit.org/repository/webkit/trunk@286249 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Location:
branches/safari-612-branch
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-612-branch/JSTests/ChangeLog

    r287623 r287624  
     12022-01-05  Russell Epstein  <repstein@apple.com>
     2
     3        Cherry-pick r286249. rdar://problem/87124979
     4
     5    [JSC] private name operation should use RETURN_IF_EXCEPTION
     6    https://bugs.webkit.org/show_bug.cgi?id=233577
     7    rdar://85813869
     8   
     9    Reviewed by Mark Lam.
     10   
     11    JSTests:
     12   
     13    * stress/termination-error-in-private-name.js: Added.
     14    (C):
     15   
     16    Source/JavaScriptCore:
     17   
     18    Because of TerminatedExecutionError, error can be thrown at any time.
     19   
     20    * jit/JITOperations.cpp:
     21    (JSC::JSC_DEFINE_JIT_OPERATION):
     22    (JSC::putPrivateNameOptimize):
     23    (JSC::putPrivateName):
     24    * llint/LLIntSlowPaths.cpp:
     25    (JSC::LLInt::LLINT_SLOW_PATH_DECL):
     26   
     27    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     28
     29    2021-11-29  Yusuke Suzuki  <ysuzuki@apple.com>
     30
     31            [JSC] private name operation should use RETURN_IF_EXCEPTION
     32            https://bugs.webkit.org/show_bug.cgi?id=233577
     33            rdar://85813869
     34
     35            Reviewed by Mark Lam.
     36
     37            * stress/termination-error-in-private-name.js: Added.
     38            (C):
     39
    1402022-01-05  Russell Epstein  <repstein@apple.com>
    241
  • branches/safari-612-branch/Source/JavaScriptCore/ChangeLog

    r287623 r287624  
     12022-01-05  Russell Epstein  <repstein@apple.com>
     2
     3        Cherry-pick r286249. rdar://problem/87124979
     4
     5    [JSC] private name operation should use RETURN_IF_EXCEPTION
     6    https://bugs.webkit.org/show_bug.cgi?id=233577
     7    rdar://85813869
     8   
     9    Reviewed by Mark Lam.
     10   
     11    JSTests:
     12   
     13    * stress/termination-error-in-private-name.js: Added.
     14    (C):
     15   
     16    Source/JavaScriptCore:
     17   
     18    Because of TerminatedExecutionError, error can be thrown at any time.
     19   
     20    * jit/JITOperations.cpp:
     21    (JSC::JSC_DEFINE_JIT_OPERATION):
     22    (JSC::putPrivateNameOptimize):
     23    (JSC::putPrivateName):
     24    * llint/LLIntSlowPaths.cpp:
     25    (JSC::LLInt::LLINT_SLOW_PATH_DECL):
     26   
     27    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     28
     29    2021-11-29  Yusuke Suzuki  <ysuzuki@apple.com>
     30
     31            [JSC] private name operation should use RETURN_IF_EXCEPTION
     32            https://bugs.webkit.org/show_bug.cgi?id=233577
     33            rdar://85813869
     34
     35            Reviewed by Mark Lam.
     36
     37            Because of TerminatedExecutionError, error can be thrown at any time.
     38
     39            * jit/JITOperations.cpp:
     40            (JSC::JSC_DEFINE_JIT_OPERATION):
     41            (JSC::putPrivateNameOptimize):
     42            (JSC::putPrivateName):
     43            * llint/LLIntSlowPaths.cpp:
     44            (JSC::LLInt::LLINT_SLOW_PATH_DECL):
     45
    1462022-01-05  Russell Epstein  <repstein@apple.com>
    247
  • branches/safari-612-branch/Source/JavaScriptCore/jit/JITOperations.cpp

    r284401 r287624  
    528528    ASSERT(propertyValue.isSymbol());
    529529    auto property = propertyValue.toPropertyKey(globalObject);
    530     EXCEPTION_ASSERT(!scope.exception());
     530    RETURN_IF_EXCEPTION(scope, { });
    531531
    532532    PropertySlot slot(baseObject, PropertySlot::InternalMethodType::HasProperty);
    … …  
    562562    ASSERT(propertyValue.isSymbol());
    563563    auto property = propertyValue.toPropertyKey(globalObject);
    564     EXCEPTION_ASSERT(!scope.exception());
     564    RETURN_IF_EXCEPTION(scope, { });
    565565
    566566    return JSValue::encode(jsBoolean(asObject(baseValue)->hasPrivateField(globalObject, property)));
    … …  
    13241324
    13251325    auto propertyName = subscript.toPropertyKey(globalObject);
    1326     EXCEPTION_ASSERT(!scope.exception());
     1326    RETURN_IF_EXCEPTION(scope, void());
    13271327
    13281328    // Private fields can only be accessed within class lexical scope
    … …  
    13581358
    13591359    auto propertyName = subscript.toPropertyKey(globalObject);
    1360     EXCEPTION_ASSERT(!scope.exception());
     1360    RETURN_IF_EXCEPTION(scope, void());
    13611361
    13621362    scope.release();
  • branches/safari-612-branch/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp

    r284401 r287624  
    14441444    ASSERT(propertyValue.isSymbol());
    14451445    auto property = propertyValue.toPropertyKey(globalObject);
    1446     EXCEPTION_ASSERT(!throwScope.exception());
     1446    LLINT_CHECK_EXCEPTION();
    14471447
    14481448    LLINT_RETURN(jsBoolean(asObject(baseValue)->hasPrivateField(globalObject, property)));
Note: See TracChangeset for help on using the changeset viewer.