| 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;
 | 
|          }
 | 
|        }
 | 
| 
 |