Reviewers: Toon Verwaest,

Message:
Hi Toon,
Here is a quick mitigation CLz, thx for the look,
--Michael

Description:
The Global Load IC doesn't yet play well with --vector-ics.

Until this is addressed, we can simply use the regular IC, as we do
in times of serialization.

R=verwa...@chromium.org

Please review this at https://codereview.chromium.org/974853002/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+7, -1 lines):
  M src/full-codegen.cc
  M src/ic/ic.cc


Index: src/full-codegen.cc
diff --git a/src/full-codegen.cc b/src/full-codegen.cc
index 4f1db4e99343a692b1f3dfe89a12f5614e1d3267..6f2317cf102959db039ac79054b23e39999d527f 100644
--- a/src/full-codegen.cc
+++ b/src/full-codegen.cc
@@ -442,7 +442,10 @@ void FullCodeGenerator::CallLoadIC(ContextualMode contextual_mode,


 void FullCodeGenerator::CallGlobalLoadIC(Handle<String> name) {
-  if (masm()->serializer_enabled()) return CallLoadIC(CONTEXTUAL);
+  if (masm()->serializer_enabled() || FLAG_vector_ics) {
+    // Vector-ICs don't work with LoadGlobalIC.
+    return CallLoadIC(CONTEXTUAL);
+  }
   Handle<Code> ic = CodeFactory::LoadGlobalIC(
isolate(), isolate()->global_object(), name).code();
   CallIC(ic, TypeFeedbackId::None());
Index: src/ic/ic.cc
diff --git a/src/ic/ic.cc b/src/ic/ic.cc
index 4a0e6c8102820eb035bdf2262e1c1d1e73b2353f..651eb2cac61ac24f93d232e1ecded9c892383bf6 100644
--- a/src/ic/ic.cc
+++ b/src/ic/ic.cc
@@ -951,6 +951,9 @@ Handle<Code> LoadIC::initialize_stub(Isolate* isolate,

Handle<Code> LoadIC::load_global(Isolate* isolate, Handle<GlobalObject> global,
                                  Handle<String> name) {
+  // This special IC doesn't work with vector ics.
+  DCHECK(!FLAG_vector_ics);
+
   Handle<ScriptContextTable> script_contexts(
       global->native_context()->script_context_table());



--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to