| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |