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

Side by Side Diff: src/arm64/stub-cache-arm64.cc

Issue 352173006: Clean up the global object naming madness. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed comments Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/bootstrapper.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 #if V8_TARGET_ARCH_ARM64 7 #if V8_TARGET_ARCH_ARM64
8 8
9 #include "src/codegen.h" 9 #include "src/codegen.h"
10 #include "src/ic-inl.h" 10 #include "src/ic-inl.h"
(...skipping 1157 matching lines...) Expand 10 before | Expand all | Expand 10 after
1168 FrameScope scope(masm, StackFrame::INTERNAL); 1168 FrameScope scope(masm, StackFrame::INTERNAL);
1169 1169
1170 // Save value register, so we can restore it later. 1170 // Save value register, so we can restore it later.
1171 __ Push(value()); 1171 __ Push(value());
1172 1172
1173 if (!setter.is_null()) { 1173 if (!setter.is_null()) {
1174 // Call the JavaScript setter with receiver and value on the stack. 1174 // Call the JavaScript setter with receiver and value on the stack.
1175 if (IC::TypeToMap(*type, masm->isolate())->IsJSGlobalObjectMap()) { 1175 if (IC::TypeToMap(*type, masm->isolate())->IsJSGlobalObjectMap()) {
1176 // Swap in the global receiver. 1176 // Swap in the global receiver.
1177 __ Ldr(receiver, 1177 __ Ldr(receiver,
1178 FieldMemOperand( 1178 FieldMemOperand(receiver, JSGlobalObject::kGlobalProxyOffset));
1179 receiver, JSGlobalObject::kGlobalReceiverOffset));
1180 } 1179 }
1181 __ Push(receiver, value()); 1180 __ Push(receiver, value());
1182 ParameterCount actual(1); 1181 ParameterCount actual(1);
1183 ParameterCount expected(setter); 1182 ParameterCount expected(setter);
1184 __ InvokeFunction(setter, expected, actual, 1183 __ InvokeFunction(setter, expected, actual,
1185 CALL_FUNCTION, NullCallWrapper()); 1184 CALL_FUNCTION, NullCallWrapper());
1186 } else { 1185 } else {
1187 // If we generate a global code snippet for deoptimization only, remember 1186 // If we generate a global code snippet for deoptimization only, remember
1188 // the place to continue after deoptimization. 1187 // the place to continue after deoptimization.
1189 masm->isolate()->heap()->SetSetterStubDeoptPCOffset(masm->pc_offset()); 1188 masm->isolate()->heap()->SetSetterStubDeoptPCOffset(masm->pc_offset());
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1288 Register receiver, 1287 Register receiver,
1289 Handle<JSFunction> getter) { 1288 Handle<JSFunction> getter) {
1290 { 1289 {
1291 FrameScope scope(masm, StackFrame::INTERNAL); 1290 FrameScope scope(masm, StackFrame::INTERNAL);
1292 1291
1293 if (!getter.is_null()) { 1292 if (!getter.is_null()) {
1294 // Call the JavaScript getter with the receiver on the stack. 1293 // Call the JavaScript getter with the receiver on the stack.
1295 if (IC::TypeToMap(*type, masm->isolate())->IsJSGlobalObjectMap()) { 1294 if (IC::TypeToMap(*type, masm->isolate())->IsJSGlobalObjectMap()) {
1296 // Swap in the global receiver. 1295 // Swap in the global receiver.
1297 __ Ldr(receiver, 1296 __ Ldr(receiver,
1298 FieldMemOperand( 1297 FieldMemOperand(receiver, JSGlobalObject::kGlobalProxyOffset));
1299 receiver, JSGlobalObject::kGlobalReceiverOffset));
1300 } 1298 }
1301 __ Push(receiver); 1299 __ Push(receiver);
1302 ParameterCount actual(0); 1300 ParameterCount actual(0);
1303 ParameterCount expected(getter); 1301 ParameterCount expected(getter);
1304 __ InvokeFunction(getter, expected, actual, 1302 __ InvokeFunction(getter, expected, actual,
1305 CALL_FUNCTION, NullCallWrapper()); 1303 CALL_FUNCTION, NullCallWrapper());
1306 } else { 1304 } else {
1307 // If we generate a global code snippet for deoptimization only, remember 1305 // If we generate a global code snippet for deoptimization only, remember
1308 // the place to continue after deoptimization. 1306 // the place to continue after deoptimization.
1309 masm->isolate()->heap()->SetGetterStubDeoptPCOffset(masm->pc_offset()); 1307 masm->isolate()->heap()->SetGetterStubDeoptPCOffset(masm->pc_offset());
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
1474 1472
1475 // Miss case, call the runtime. 1473 // Miss case, call the runtime.
1476 __ Bind(&miss); 1474 __ Bind(&miss);
1477 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); 1475 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss);
1478 } 1476 }
1479 1477
1480 1478
1481 } } // namespace v8::internal 1479 } } // namespace v8::internal
1482 1480
1483 #endif // V8_TARGET_ARCH_ARM64 1481 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/bootstrapper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698