 Chromium Code Reviews
 Chromium Code Reviews Issue 1063513003:
  [turbofan] Optimize loads from the global object in JSTypeFeedbackSpecializer.  (Closed) 
  Base URL: https://chromium.googlesource.com/v8/v8.git@master
    
  
    Issue 1063513003:
  [turbofan] Optimize loads from the global object in JSTypeFeedbackSpecializer.  (Closed) 
  Base URL: https://chromium.googlesource.com/v8/v8.git@master| Index: src/compiler/pipeline.cc | 
| diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc | 
| index 5d8135e811e333ebf2a065f4168579aa8a1203e5..ebf9b7c4651e5335970dacbea749a8fdcd097f32 100644 | 
| --- a/src/compiler/pipeline.cc | 
| +++ b/src/compiler/pipeline.cc | 
| @@ -519,8 +519,14 @@ struct JSTypeFeedbackPhase { | 
| data->info()->unoptimized_code(), | 
| data->info()->feedback_vector(), native_context); | 
| GraphReducer graph_reducer(data->graph(), temp_zone); | 
| - JSTypeFeedbackSpecializer specializer(data->jsgraph(), | 
| - data->js_type_feedback(), &oracle); | 
| + Handle<GlobalObject> global_object = Handle<GlobalObject>::null(); | 
| + if (data->info()->has_global_object()) { | 
| 
Michael Starzinger
2015/04/21 12:34:01
This is only valid if we don't share TurboFan code
 
titzer
2015/04/21 12:56:52
Acknowledge, agreed. I have sketched out a special
 | 
| + global_object = | 
| + Handle<GlobalObject>(data->info()->global_object(), data->isolate()); | 
| + } | 
| + JSTypeFeedbackSpecializer specializer( | 
| + data->jsgraph(), data->js_type_feedback(), &oracle, global_object, | 
| + data->info()->dependencies()); | 
| AddReducer(data, &graph_reducer, &specializer); | 
| graph_reducer.ReduceGraph(); | 
| } |