 Chromium Code Reviews
 Chromium Code Reviews Issue 12300018:
  Made Isolate a mandatory parameter for everything Handle-related.  (Closed) 
  Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
    
  
    Issue 12300018:
  Made Isolate a mandatory parameter for everything Handle-related.  (Closed) 
  Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge| Index: src/debug.cc | 
| diff --git a/src/debug.cc b/src/debug.cc | 
| index 587bade70492007724df177d1577a3136c2e1668..ceefb10be75368c49c04433527aaea267cc161a2 100644 | 
| --- a/src/debug.cc | 
| +++ b/src/debug.cc | 
| @@ -778,8 +778,11 @@ bool Debug::CompileDebuggerScript(int index) { | 
| factory->NewFunctionFromSharedFunctionInfo(function_info, context); | 
| Handle<Object> exception = | 
| - Execution::TryCall(function, Handle<Object>(context->global_object()), | 
| - 0, NULL, &caught_exception); | 
| + Execution::TryCall(function, | 
| + Handle<Object>(context->global_object(), isolate), | 
| + 0, | 
| + NULL, | 
| + &caught_exception); | 
| // Check for caught exceptions. | 
| if (caught_exception) { | 
| @@ -844,8 +847,11 @@ bool Debug::Load() { | 
| Handle<GlobalObject> global = Handle<GlobalObject>(context->global_object()); | 
| RETURN_IF_EMPTY_HANDLE_VALUE( | 
| isolate_, | 
| - JSReceiver::SetProperty(global, key, Handle<Object>(global->builtins()), | 
| - NONE, kNonStrictMode), | 
| + JSReceiver::SetProperty(global, | 
| + key, | 
| + Handle<Object>(global->builtins(), isolate_), | 
| + NONE, | 
| + kNonStrictMode), | 
| false); | 
| // Compile the JavaScript for the debugger in the debugger context. | 
| @@ -950,10 +956,10 @@ Object* Debug::Break(Arguments args) { | 
| // If there is one or more real break points check whether any of these are | 
| // triggered. | 
| - Handle<Object> break_points_hit(heap->undefined_value()); | 
| + Handle<Object> break_points_hit(heap->undefined_value(), isolate_); | 
| if (break_location_iterator.HasBreakPoint()) { | 
| Handle<Object> break_point_objects = | 
| - Handle<Object>(break_location_iterator.BreakPointObjects()); | 
| + Handle<Object>(break_location_iterator.BreakPointObjects(), isolate_); | 
| break_points_hit = CheckBreakPoints(break_point_objects); | 
| } | 
| @@ -1071,7 +1077,7 @@ Handle<Object> Debug::CheckBreakPoints(Handle<Object> break_point_objects) { | 
| Handle<FixedArray> array(FixedArray::cast(*break_point_objects)); | 
| break_points_hit = factory->NewFixedArray(array->length()); | 
| for (int i = 0; i < array->length(); i++) { | 
| - Handle<Object> o(array->get(i)); | 
| + Handle<Object> o(array->get(i), isolate_); | 
| if (CheckBreakPoint(o)) { | 
| break_points_hit->set(break_points_hit_count++, *o); | 
| } | 
| @@ -1294,7 +1300,8 @@ void Debug::FloodWithOneShot(Handle<JSFunction> function) { | 
| void Debug::FloodBoundFunctionWithOneShot(Handle<JSFunction> function) { | 
| Handle<FixedArray> new_bindings(function->function_bindings()); | 
| - Handle<Object> bindee(new_bindings->get(JSFunction::kBoundFunctionIndex)); | 
| + Handle<Object> bindee(new_bindings->get(JSFunction::kBoundFunctionIndex), | 
| + function->GetIsolate()); | 
| 
Michael Starzinger
2013/02/25 10:50:58
Better use "isolate_" here.
 
Sven Panne
2013/02/25 14:44:43
Done.
 | 
| if (!bindee.is_null() && bindee->IsJSFunction() && | 
| !JSFunction::cast(*bindee)->IsBuiltin()) { | 
| @@ -1492,7 +1499,8 @@ void Debug::PrepareStep(StepAction step_action, int step_count) { | 
| // from the code object. | 
| Handle<Object> obj( | 
| isolate_->heap()->code_stubs()->SlowReverseLookup( | 
| - *call_function_stub)); | 
| + *call_function_stub), | 
| + isolate_); | 
| ASSERT(!obj.is_null()); | 
| ASSERT(!(*obj)->IsUndefined()); | 
| ASSERT(obj->IsSmi()); | 
| @@ -1665,10 +1673,12 @@ Handle<Object> Debug::GetSourceBreakLocations( | 
| Handle<SharedFunctionInfo> shared) { | 
| Isolate* isolate = Isolate::Current(); | 
| Heap* heap = isolate->heap(); | 
| - if (!HasDebugInfo(shared)) return Handle<Object>(heap->undefined_value()); | 
| + if (!HasDebugInfo(shared)) { | 
| + return Handle<Object>(heap->undefined_value(), isolate); | 
| + } | 
| Handle<DebugInfo> debug_info = GetDebugInfo(shared); | 
| if (debug_info->GetBreakPointCount() == 0) { | 
| - return Handle<Object>(heap->undefined_value()); | 
| + return Handle<Object>(heap->undefined_value(), isolate); | 
| } | 
| Handle<FixedArray> locations = | 
| isolate->factory()->NewFixedArray(debug_info->GetBreakPointCount()); | 
| @@ -2434,8 +2444,8 @@ void Debug::ClearMirrorCache() { | 
| Handle<String> function_name = isolate_->factory()->LookupOneByteSymbol( | 
| STATIC_ASCII_VECTOR("ClearMirrorCache")); | 
| Handle<Object> fun( | 
| - Isolate::Current()->global_object()->GetPropertyNoExceptionThrown( | 
| - *function_name)); | 
| + isolate_->global_object()->GetPropertyNoExceptionThrown(*function_name), | 
| + isolate_); | 
| ASSERT(fun->IsJSFunction()); | 
| bool caught_exception; | 
| Execution::TryCall(Handle<JSFunction>::cast(fun), | 
| @@ -2562,8 +2572,8 @@ Handle<Object> Debugger::MakeJSObject(Vector<const char> constructor_name, | 
| Handle<String> constructor_str = | 
| isolate_->factory()->LookupUtf8Symbol(constructor_name); | 
| Handle<Object> constructor( | 
| - isolate_->global_object()->GetPropertyNoExceptionThrown( | 
| - *constructor_str)); | 
| + isolate_->global_object()->GetPropertyNoExceptionThrown(*constructor_str), | 
| + isolate_); | 
| ASSERT(constructor->IsJSFunction()); | 
| if (!constructor->IsJSFunction()) { | 
| *caught_exception = true; | 
| @@ -2651,7 +2661,7 @@ Handle<Object> Debugger::MakeScriptCollectedEvent(int id, | 
| bool* caught_exception) { | 
| // Create the script collected event object. | 
| Handle<Object> exec_state = MakeExecutionState(caught_exception); | 
| - Handle<Object> id_object = Handle<Smi>(Smi::FromInt(id)); | 
| + Handle<Object> id_object = Handle<Smi>(Smi::FromInt(id), isolate_); | 
| Handle<Object> argv[] = { exec_state, id_object }; | 
| return MakeJSObject(CStrVector("MakeScriptCollectedEvent"), | 
| @@ -2794,8 +2804,10 @@ void Debugger::OnAfterCompile(Handle<Script> script, | 
| isolate_->factory()->LookupOneByteSymbol( | 
| STATIC_ASCII_VECTOR("UpdateScriptBreakPoints")); | 
| Handle<Object> update_script_break_points = | 
| - Handle<Object>(debug->debug_context()->global_object()-> | 
| - GetPropertyNoExceptionThrown(*update_script_break_points_symbol)); | 
| + Handle<Object>( | 
| + debug->debug_context()->global_object()->GetPropertyNoExceptionThrown( | 
| + *update_script_break_points_symbol), | 
| + isolate_); | 
| if (!update_script_break_points->IsJSFunction()) { | 
| return; | 
| } | 
| @@ -2945,7 +2957,8 @@ void Debugger::CallJSEventCallback(v8::DebugEvent event, | 
| Handle<JSFunction> fun(Handle<JSFunction>::cast(event_listener_)); | 
| // Invoke the JavaScript debug event listener. | 
| - Handle<Object> argv[] = { Handle<Object>(Smi::FromInt(event)), | 
| + Handle<Object> argv[] = { Handle<Object>(Smi::FromInt(event), | 
| + fun->GetIsolate()), | 
| 
Michael Starzinger
2013/02/25 10:50:58
Better use "isolate_" here.
 
Sven Panne
2013/02/25 14:44:43
Done.
 | 
| exec_state, | 
| event_data, | 
| event_listener_data_ }; | 
| @@ -3328,7 +3341,8 @@ Handle<Object> Debugger::Call(Handle<JSFunction> fun, | 
| Handle<Object> argv[] = { exec_state, data }; | 
| Handle<Object> result = Execution::Call( | 
| fun, | 
| - Handle<Object>(isolate_->debug()->debug_context_->global_proxy()), | 
| + Handle<Object>(isolate_->debug()->debug_context_->global_proxy(), | 
| + isolate_), | 
| ARRAY_SIZE(argv), | 
| argv, | 
| pending_exception); |