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

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

Issue 919703003: WIP: Implement ES6 Spread-calls (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: AssignmentExpressions are not spreadable, add cctests for parsing Created 5 years, 10 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
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/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 1582 matching lines...) Expand 10 before | Expand all | Expand 10 after
1593 // Set the property. 1593 // Set the property.
1594 Handle<Object> result; 1594 Handle<Object> result;
1595 ASSIGN_RETURN_ON_EXCEPTION( 1595 ASSIGN_RETURN_ON_EXCEPTION(
1596 isolate(), result, 1596 isolate(), result,
1597 Object::SetProperty(&it, value, language_mode(), store_mode), Object); 1597 Object::SetProperty(&it, value, language_mode(), store_mode), Object);
1598 return result; 1598 return result;
1599 } 1599 }
1600 1600
1601 1601
1602 Handle<Code> CallIC::initialize_stub(Isolate* isolate, int argc, 1602 Handle<Code> CallIC::initialize_stub(Isolate* isolate, int argc,
1603 CallICState::CallType call_type) { 1603 CallICState::CallType call_type,
1604 CallICTrampolineStub stub(isolate, CallICState(argc, call_type)); 1604 bool is_spread) {
1605 CallICTrampolineStub stub(isolate, CallICState(argc, call_type, is_spread));
1605 Handle<Code> code = stub.GetCode(); 1606 Handle<Code> code = stub.GetCode();
1606 return code; 1607 return code;
1607 } 1608 }
1608 1609
1609 1610
1610 Handle<Code> CallIC::initialize_stub_in_optimized_code( 1611 Handle<Code> CallIC::initialize_stub_in_optimized_code(
1611 Isolate* isolate, int argc, CallICState::CallType call_type) { 1612 Isolate* isolate, int argc, CallICState::CallType call_type) {
1612 CallICStub stub(isolate, CallICState(argc, call_type)); 1613 CallICStub stub(isolate, CallICState(argc, call_type));
1613 Handle<Code> code = stub.GetCode(); 1614 Handle<Code> code = stub.GetCode();
1614 return code; 1615 return code;
(...skipping 1399 matching lines...) Expand 10 before | Expand all | Expand 10 after
3014 static const Address IC_utilities[] = { 3015 static const Address IC_utilities[] = {
3015 #define ADDR(name) FUNCTION_ADDR(name), 3016 #define ADDR(name) FUNCTION_ADDR(name),
3016 IC_UTIL_LIST(ADDR) NULL 3017 IC_UTIL_LIST(ADDR) NULL
3017 #undef ADDR 3018 #undef ADDR
3018 }; 3019 };
3019 3020
3020 3021
3021 Address IC::AddressFromUtilityId(IC::UtilityId id) { return IC_utilities[id]; } 3022 Address IC::AddressFromUtilityId(IC::UtilityId id) { return IC_utilities[id]; }
3022 } 3023 }
3023 } // namespace v8::internal 3024 } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698