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

Side by Side Diff: src/ic/ic.cc

Issue 1407373007: Remove CallFunctionStub, always call through the Call builtin (also from CallIC) (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 1 month 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 | « src/ic/ic.h ('k') | src/ic/ic-state.h » ('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/ic/ic.h" 5 #include "src/ic/ic.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/api.h" 8 #include "src/api.h"
9 #include "src/arguments.h" 9 #include "src/arguments.h"
10 #include "src/base/bits.h" 10 #include "src/base/bits.h"
(...skipping 1566 matching lines...) Expand 10 before | Expand all | Expand 10 after
1577 1577
1578 LookupIterator it(object, name); 1578 LookupIterator it(object, name);
1579 if (FLAG_use_ic) UpdateCaches(&it, value, store_mode); 1579 if (FLAG_use_ic) UpdateCaches(&it, value, store_mode);
1580 1580
1581 MAYBE_RETURN_NULL( 1581 MAYBE_RETURN_NULL(
1582 Object::SetProperty(&it, value, language_mode(), store_mode)); 1582 Object::SetProperty(&it, value, language_mode(), store_mode));
1583 return value; 1583 return value;
1584 } 1584 }
1585 1585
1586 1586
1587 Handle<Code> CallIC::initialize_stub(Isolate* isolate, int argc, 1587 Handle<Code> CallIC::initialize_stub(Isolate* isolate, int argc) {
1588 CallICState::CallType call_type) { 1588 CallICTrampolineStub stub(isolate, CallICState(argc));
1589 CallICTrampolineStub stub(isolate, CallICState(argc, call_type));
1590 Handle<Code> code = stub.GetCode(); 1589 Handle<Code> code = stub.GetCode();
1591 return code; 1590 return code;
1592 } 1591 }
1593 1592
1594 1593
1595 Handle<Code> CallIC::initialize_stub_in_optimized_code( 1594 Handle<Code> CallIC::initialize_stub_in_optimized_code(Isolate* isolate,
1596 Isolate* isolate, int argc, CallICState::CallType call_type) { 1595 int argc) {
1597 CallICStub stub(isolate, CallICState(argc, call_type)); 1596 CallICStub stub(isolate, CallICState(argc));
1598 Handle<Code> code = stub.GetCode(); 1597 Handle<Code> code = stub.GetCode();
1599 return code; 1598 return code;
1600 } 1599 }
1601 1600
1602 1601
1603 static Handle<Code> StoreICInitializeStubHelper( 1602 static Handle<Code> StoreICInitializeStubHelper(
1604 Isolate* isolate, ExtraICState extra_state, 1603 Isolate* isolate, ExtraICState extra_state,
1605 InlineCacheState initialization_state) { 1604 InlineCacheState initialization_state) {
1606 Handle<Code> ic = PropertyICCompiler::ComputeStore( 1605 Handle<Code> ic = PropertyICCompiler::ComputeStore(
1607 isolate, initialization_state, extra_state); 1606 isolate, initialization_state, extra_state);
(...skipping 1526 matching lines...) Expand 10 before | Expand all | Expand 10 after
3134 KeyedLoadICNexus nexus(vector, vector_slot); 3133 KeyedLoadICNexus nexus(vector, vector_slot);
3135 KeyedLoadIC ic(IC::EXTRA_CALL_FRAME, isolate, &nexus); 3134 KeyedLoadIC ic(IC::EXTRA_CALL_FRAME, isolate, &nexus);
3136 ic.UpdateState(receiver, key); 3135 ic.UpdateState(receiver, key);
3137 ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result, ic.Load(receiver, key)); 3136 ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result, ic.Load(receiver, key));
3138 } 3137 }
3139 3138
3140 return *result; 3139 return *result;
3141 } 3140 }
3142 } // namespace internal 3141 } // namespace internal
3143 } // namespace v8 3142 } // namespace v8
OLDNEW
« no previous file with comments | « src/ic/ic.h ('k') | src/ic/ic-state.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698