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

Side by Side Diff: src/arm64/code-stubs-arm64.cc

Issue 352583008: Rollback to Version 3.28.4 (based on bleeding_edge revision r22031) (Closed) Base URL: https://v8.googlecode.com/svn/trunk
Patch Set: 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/arm/stub-cache-arm.cc ('k') | src/arm64/debug-arm64.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 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/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 // x2: length 95 // x2: length
96 // x1: index (of last match) 96 // x1: index (of last match)
97 // x0: string 97 // x0: string
98 Register registers[] = { x2, x1, x0 }; 98 Register registers[] = { x2, x1, x0 };
99 descriptor->Initialize( 99 descriptor->Initialize(
100 ARRAY_SIZE(registers), registers, 100 ARRAY_SIZE(registers), registers,
101 Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry); 101 Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry);
102 } 102 }
103 103
104 104
105 void LoadFieldStub::InitializeInterfaceDescriptor(
106 CodeStubInterfaceDescriptor* descriptor) {
107 // x0: receiver
108 Register registers[] = { x0 };
109 descriptor->Initialize(ARRAY_SIZE(registers), registers);
110 }
111
112
113 void KeyedLoadFieldStub::InitializeInterfaceDescriptor(
114 CodeStubInterfaceDescriptor* descriptor) {
115 // x1: receiver
116 Register registers[] = { x1 };
117 descriptor->Initialize(ARRAY_SIZE(registers), registers);
118 }
119
120
121 void StringLengthStub::InitializeInterfaceDescriptor(
122 CodeStubInterfaceDescriptor* descriptor) {
123 Register registers[] = { x0, x2 };
124 descriptor->Initialize(ARRAY_SIZE(registers), registers);
125 }
126
127
128 void KeyedStringLengthStub::InitializeInterfaceDescriptor(
129 CodeStubInterfaceDescriptor* descriptor) {
130 Register registers[] = { x1, x0 };
131 descriptor->Initialize(ARRAY_SIZE(registers), registers);
132 }
133
134
105 void KeyedStoreFastElementStub::InitializeInterfaceDescriptor( 135 void KeyedStoreFastElementStub::InitializeInterfaceDescriptor(
106 CodeStubInterfaceDescriptor* descriptor) { 136 CodeStubInterfaceDescriptor* descriptor) {
107 // x2: receiver 137 // x2: receiver
108 // x1: key 138 // x1: key
109 // x0: value 139 // x0: value
110 Register registers[] = { x2, x1, x0 }; 140 Register registers[] = { x2, x1, x0 };
111 descriptor->Initialize( 141 descriptor->Initialize(
112 ARRAY_SIZE(registers), registers, 142 ARRAY_SIZE(registers), registers,
113 FUNCTION_ADDR(KeyedStoreIC_MissFromStubFailure)); 143 FUNCTION_ADDR(KeyedStoreIC_MissFromStubFailure));
114 } 144 }
(...skipping 2303 matching lines...) Expand 10 before | Expand all | Expand 10 after
2418 2448
2419 // Do the runtime call to allocate the arguments object. 2449 // Do the runtime call to allocate the arguments object.
2420 __ Bind(&runtime); 2450 __ Bind(&runtime);
2421 __ Push(function, params, param_count_smi); 2451 __ Push(function, params, param_count_smi);
2422 __ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1); 2452 __ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1);
2423 } 2453 }
2424 2454
2425 2455
2426 void RegExpExecStub::Generate(MacroAssembler* masm) { 2456 void RegExpExecStub::Generate(MacroAssembler* masm) {
2427 #ifdef V8_INTERPRETED_REGEXP 2457 #ifdef V8_INTERPRETED_REGEXP
2428 __ TailCallRuntime(Runtime::kRegExpExecRT, 4, 1); 2458 __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
2429 #else // V8_INTERPRETED_REGEXP 2459 #else // V8_INTERPRETED_REGEXP
2430 2460
2431 // Stack frame on entry. 2461 // Stack frame on entry.
2432 // jssp[0]: last_match_info (expected JSArray) 2462 // jssp[0]: last_match_info (expected JSArray)
2433 // jssp[8]: previous index 2463 // jssp[8]: previous index
2434 // jssp[16]: subject string 2464 // jssp[16]: subject string
2435 // jssp[24]: JSRegExp object 2465 // jssp[24]: JSRegExp object
2436 Label runtime; 2466 Label runtime;
2437 2467
2438 // Use of registers for this function. 2468 // Use of registers for this function.
(...skipping 3000 matching lines...) Expand 10 before | Expand all | Expand 10 after
5439 MemOperand(fp, 6 * kPointerSize), 5469 MemOperand(fp, 6 * kPointerSize),
5440 NULL); 5470 NULL);
5441 } 5471 }
5442 5472
5443 5473
5444 #undef __ 5474 #undef __
5445 5475
5446 } } // namespace v8::internal 5476 } } // namespace v8::internal
5447 5477
5448 #endif // V8_TARGET_ARCH_ARM64 5478 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm/stub-cache-arm.cc ('k') | src/arm64/debug-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698