| Index: src/wasm/wasm-js.cc | 
| diff --git a/src/wasm/wasm-js.cc b/src/wasm/wasm-js.cc | 
| index 93b396ba9a0365c8e9b803d26581cbbd7b2b1729..46a357e77675997875feaccd787849876d4da11b 100644 | 
| --- a/src/wasm/wasm-js.cc | 
| +++ b/src/wasm/wasm-js.cc | 
| @@ -32,12 +32,15 @@ namespace v8 { | 
|  | 
| namespace { | 
|  | 
| -#define ASSIGN(type, var, expr)                   \ | 
| -  Local<type> var;                                \ | 
| -  do {                                            \ | 
| -    if (!expr.ToLocal(&var)) {                    \ | 
| -      DCHECK(i_isolate->has_pending_exception()); \ | 
| -    }                                             \ | 
| +#define ASSIGN(type, var, expr)                      \ | 
| +  Local<type> var;                                   \ | 
| +  do {                                               \ | 
| +    if (!expr.ToLocal(&var)) {                       \ | 
| +      DCHECK(i_isolate->has_scheduled_exception());  \ | 
| +      return;                                        \ | 
| +    } else {                                         \ | 
| +      DCHECK(!i_isolate->has_scheduled_exception()); \ | 
| +    }                                                \ | 
| } while (false) | 
|  | 
| // TODO(wasm): move brand check to the respective types, and don't throw | 
| @@ -125,7 +128,7 @@ i::wasm::ModuleWireBytes GetFirstArgumentAsBytes( | 
| return i::wasm::ModuleWireBytes(start, start + length); | 
| } | 
|  | 
| -i::MaybeHandle<i::JSReceiver> GetValueAsImports(const Local<Value>& arg, | 
| +i::MaybeHandle<i::JSReceiver> GetValueAsImports(Local<Value> arg, | 
| ErrorThrower* thrower) { | 
| if (arg->IsUndefined()) return {}; | 
|  | 
| @@ -320,8 +323,9 @@ void WebAssemblyInstantiateToPairCallback( | 
| const uint8_t* module_str = reinterpret_cast<const uint8_t*>("module"); | 
| Local<Value> instance; | 
| if (!WebAssemblyInstantiateImpl(isolate, module, args.Data()) | 
| -           .ToLocal(&instance)) | 
| +           .ToLocal(&instance)) { | 
| return; | 
| +  } | 
|  | 
| Local<Object> ret = Object::New(isolate); | 
| Local<String> instance_name = | 
|  |