| Index: src/isolate.cc
|
| diff --git a/src/isolate.cc b/src/isolate.cc
|
| index f620897922f3088458139ddcd5e7acaad22644d0..a8c4a75f35b22c960d59bc30691343a07e6a2971 100644
|
| --- a/src/isolate.cc
|
| +++ b/src/isolate.cc
|
| @@ -1207,6 +1207,10 @@ Object* Isolate::UnwindAndFindHandler() {
|
| for (StackFrameIterator iter(this); !iter.done(); iter.Advance()) {
|
| StackFrame* frame = iter.frame();
|
|
|
| + if (frame->is_wasm()) {
|
| + trap_handler::ClearThreadInWasm();
|
| + }
|
| +
|
| // For JSEntryStub frames we always have a handler.
|
| if (frame->is_entry() || frame->is_entry_construct()) {
|
| StackHandler* handler = frame->top_handler();
|
| @@ -1238,6 +1242,13 @@ Object* Isolate::UnwindAndFindHandler() {
|
|
|
| handler_sp = return_sp;
|
| handler_fp = frame->fp();
|
| +
|
| + // This is going to be handled by Wasm, so we need to set the TLS flag
|
| + // again.
|
| + if (trap_handler::EnableTrapHandler()) {
|
| + trap_handler::SetThreadInWasm();
|
| + }
|
| +
|
| break;
|
| }
|
| }
|
|
|