Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/full-codegen.cc

Issue 974853002: The Global Load IC doesn't yet play well with --vector-ics. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/ic/ic.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/ast.h" 7 #include "src/ast.h"
8 #include "src/ast-numbering.h" 8 #include "src/ast-numbering.h"
9 #include "src/code-factory.h" 9 #include "src/code-factory.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 435
436 436
437 void FullCodeGenerator::CallLoadIC(ContextualMode contextual_mode, 437 void FullCodeGenerator::CallLoadIC(ContextualMode contextual_mode,
438 TypeFeedbackId id) { 438 TypeFeedbackId id) {
439 Handle<Code> ic = CodeFactory::LoadIC(isolate(), contextual_mode).code(); 439 Handle<Code> ic = CodeFactory::LoadIC(isolate(), contextual_mode).code();
440 CallIC(ic, id); 440 CallIC(ic, id);
441 } 441 }
442 442
443 443
444 void FullCodeGenerator::CallGlobalLoadIC(Handle<String> name) { 444 void FullCodeGenerator::CallGlobalLoadIC(Handle<String> name) {
445 if (masm()->serializer_enabled()) return CallLoadIC(CONTEXTUAL); 445 if (masm()->serializer_enabled() || FLAG_vector_ics) {
446 // Vector-ICs don't work with LoadGlobalIC.
447 return CallLoadIC(CONTEXTUAL);
448 }
446 Handle<Code> ic = CodeFactory::LoadGlobalIC( 449 Handle<Code> ic = CodeFactory::LoadGlobalIC(
447 isolate(), isolate()->global_object(), name).code(); 450 isolate(), isolate()->global_object(), name).code();
448 CallIC(ic, TypeFeedbackId::None()); 451 CallIC(ic, TypeFeedbackId::None());
449 } 452 }
450 453
451 454
452 void FullCodeGenerator::CallStoreIC(TypeFeedbackId id) { 455 void FullCodeGenerator::CallStoreIC(TypeFeedbackId id) {
453 Handle<Code> ic = CodeFactory::StoreIC(isolate(), language_mode()).code(); 456 Handle<Code> ic = CodeFactory::StoreIC(isolate(), language_mode()).code();
454 CallIC(ic, id); 457 CallIC(ic, id);
455 } 458 }
(...skipping 1358 matching lines...) Expand 10 before | Expand all | Expand 10 after
1814 } 1817 }
1815 codegen_->PrepareForBailoutForId(exit_id_, NO_REGISTERS); 1818 codegen_->PrepareForBailoutForId(exit_id_, NO_REGISTERS);
1816 codegen_->scope_ = saved_scope_; 1819 codegen_->scope_ = saved_scope_;
1817 } 1820 }
1818 1821
1819 1822
1820 #undef __ 1823 #undef __
1821 1824
1822 1825
1823 } } // namespace v8::internal 1826 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/ic/ic.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698