Changeset 262064 in webkit
- Timestamp:
- May 22, 2020 11:01:21 AM (4 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JSTests/ChangeLog
r262017 r262064 1 2020-05-22 Keith Miller <keith_miller@apple.com> 2 3 Checkpoint inlined call return handler needs an exception check when dispatching 4 https://bugs.webkit.org/show_bug.cgi?id=212104 5 6 Reviewed by Yusuke Suzuki. 7 8 * stress/for-of-done-getter-osr-exits-inlined-to-value-getter-with-exception.js: Added. 9 (let.d.get done): 10 (let.d.get value): 11 (foo): 12 (catch): 13 1 14 2020-05-21 Alexey Shvayka <shvaikalesh@gmail.com> 2 15 -
trunk/Source/JavaScriptCore/ChangeLog
r262054 r262064 1 2020-05-22 Keith Miller <keith_miller@apple.com> 2 3 Checkpoint inlined call return handler needs an exception check when dispatching 4 https://bugs.webkit.org/show_bug.cgi?id=212104 5 6 Reviewed by Yusuke Suzuki. 7 8 * llint/LLIntSlowPaths.cpp: 9 (JSC::LLInt::dispatchToNextInstruction): 10 (JSC::LLInt::slow_path_checkpoint_osr_exit_from_inlined_call): 11 (JSC::LLInt::slow_path_checkpoint_osr_exit): 12 1 13 2020-05-22 Paulo Matos <pmatos@igalia.com> 2 14 -
trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
r261755 r262064 2087 2087 } 2088 2088 2089 inline SlowPathReturnType dispatchToNextInstruction(CodeBlock* codeBlock, InstructionStream::Ref pc) 2090 { 2091 RELEASE_ASSERT(!codeBlock->vm().exceptionForInspection()); 2089 inline SlowPathReturnType dispatchToNextInstruction(ThrowScope& scope, CodeBlock* codeBlock, InstructionStream::Ref pc) 2090 { 2091 if (scope.exception()) 2092 return encodeResult(returnToThrow(scope.vm()), nullptr); 2093 2092 2094 if (Options::forceOSRExitToLLInt() || codeBlock->jitType() == JITType::InterpreterThunk) { 2093 2095 const Instruction* nextPC = pc.next().ptr(); … … 2111 2113 VM& vm = codeBlock->vm(); 2112 2114 SlowPathFrameTracer tracer(vm, callFrame); 2115 auto scope = DECLARE_THROW_SCOPE(vm); 2113 2116 2114 2117 std::unique_ptr<CheckpointOSRExitSideState> sideState = vm.findCheckpointOSRSideState(callFrame); … … 2151 2154 } 2152 2155 2153 return dispatchToNextInstruction( codeBlock, pc);2156 return dispatchToNextInstruction(scope, codeBlock, pc); 2154 2157 } 2155 2158 … … 2195 2198 break; 2196 2199 } 2197 if (UNLIKELY(scope.exception())) 2198 return encodeResult(returnToThrow(vm), nullptr); 2199 2200 return dispatchToNextInstruction(codeBlock, pc); 2200 2201 return dispatchToNextInstruction(scope, codeBlock, pc); 2201 2202 } 2202 2203
Note: See TracChangeset
for help on using the changeset viewer.