From d232dcfd6a838fe016d1634db717d7ea9f453231 Mon Sep 17 00:00:00 2001 From: mvstanton Date: Wed, 4 Mar 2015 01:41:12 -0800 Subject: [PATCH] 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=verwaest@chromium.org Review URL: https://codereview.chromium.org/974853002 Cr-Commit-Position: refs/heads/master@{#26977} --- src/full-codegen.cc | 5 ++++- src/ic/ic.cc | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/full-codegen.cc b/src/full-codegen.cc index 4f1db4e..6f2317c 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 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 ic = CodeFactory::LoadGlobalIC( isolate(), isolate()->global_object(), name).code(); CallIC(ic, TypeFeedbackId::None()); diff --git a/src/ic/ic.cc b/src/ic/ic.cc index 4a0e6c8..651eb2c 100644 --- a/src/ic/ic.cc +++ b/src/ic/ic.cc @@ -951,6 +951,9 @@ Handle LoadIC::initialize_stub(Isolate* isolate, Handle LoadIC::load_global(Isolate* isolate, Handle global, Handle name) { + // This special IC doesn't work with vector ics. + DCHECK(!FLAG_vector_ics); + Handle script_contexts( global->native_context()->script_context_table()); -- 2.7.4