Chromium Code Reviews

Unified Diff: src/compiler/pipeline.cc

Issue 1063513003: [turbofan] Optimize loads from the global object in JSTypeFeedbackSpecializer. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix script bound variables. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: src/compiler/pipeline.cc
diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc
index 59684c1ac10d2fca9bc7ae65b2a77d72cbcba910..cb76aa87fd6bbb01628168b9f332490d5881a4e2 100644
--- a/src/compiler/pipeline.cc
+++ b/src/compiler/pipeline.cc
@@ -542,8 +542,16 @@ 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()) {
+ global_object =
+ Handle<GlobalObject>(data->info()->global_object(), data->isolate());
+ }
+ // TODO(titzer): introduce a specialization mode/flags enum to control
+ // specializing to the global object here.
+ JSTypeFeedbackSpecializer specializer(
+ data->jsgraph(), data->js_type_feedback(), &oracle, global_object,
+ data->info()->dependencies());
AddReducer(data, &graph_reducer, &specializer);
graph_reducer.ReduceGraph();
}

Powered by Google App Engine