| Index: src/bootstrapper.cc | 
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc | 
| index c98a13af179f76e063064d1f83871311078b2651..142d28ec0f191c53be61ed1e23d1fdfe46d968f7 100644 | 
| --- a/src/bootstrapper.cc | 
| +++ b/src/bootstrapper.cc | 
| @@ -4196,6 +4196,26 @@ bool Genesis::InstallSpecialObjects(Handle<Context> native_context) { | 
| WasmJs::Install(isolate); | 
| } | 
|  | 
| +  // Expose the debug global object in global if a name for it is specified. | 
| +  if (FLAG_expose_debug_as != NULL && strlen(FLAG_expose_debug_as) != 0) { | 
| +    // If loading fails we just bail out without installing the | 
| +    // debugger but without tanking the whole context. | 
| +    Debug* debug = isolate->debug(); | 
| +    if (!debug->Load()) return true; | 
| +    Handle<Context> debug_context = debug->debug_context(); | 
| +    // Set the security token for the debugger context to the same as | 
| +    // the shell native context to allow calling between these (otherwise | 
| +    // exposing debug global object doesn't make much sense). | 
| +    debug_context->set_security_token(native_context->security_token()); | 
| +    Handle<String> debug_string = | 
| +        factory->InternalizeUtf8String(FLAG_expose_debug_as); | 
| +    uint32_t index; | 
| +    if (debug_string->AsArrayIndex(&index)) return true; | 
| +    Handle<Object> global_proxy(debug_context->global_proxy(), isolate); | 
| +    JSObject::AddProperty(handle(native_context->global_proxy()), debug_string, | 
| +                          global_proxy, DONT_ENUM); | 
| +  } | 
| + | 
| return true; | 
| } | 
|  | 
|  |