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

Side by Side Diff: src/ia32/code-stubs-ia32.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/hydrogen.cc ('k') | src/ia32/debug-ia32.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 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 #if V8_TARGET_ARCH_IA32 7 #if V8_TARGET_ARCH_IA32
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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 86
87 void RegExpConstructResultStub::InitializeInterfaceDescriptor( 87 void RegExpConstructResultStub::InitializeInterfaceDescriptor(
88 CodeStubInterfaceDescriptor* descriptor) { 88 CodeStubInterfaceDescriptor* descriptor) {
89 Register registers[] = { ecx, ebx, eax }; 89 Register registers[] = { ecx, ebx, eax };
90 descriptor->Initialize( 90 descriptor->Initialize(
91 ARRAY_SIZE(registers), registers, 91 ARRAY_SIZE(registers), registers,
92 Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry); 92 Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry);
93 } 93 }
94 94
95 95
96 void LoadFieldStub::InitializeInterfaceDescriptor(
97 CodeStubInterfaceDescriptor* descriptor) {
98 Register registers[] = { edx };
99 descriptor->Initialize(ARRAY_SIZE(registers), registers);
100 }
101
102
103 void KeyedLoadFieldStub::InitializeInterfaceDescriptor(
104 CodeStubInterfaceDescriptor* descriptor) {
105 Register registers[] = { edx };
106 descriptor->Initialize(ARRAY_SIZE(registers), registers);
107 }
108
109
110 void StringLengthStub::InitializeInterfaceDescriptor(
111 CodeStubInterfaceDescriptor* descriptor) {
112 Register registers[] = { edx, ecx };
113 descriptor->Initialize(ARRAY_SIZE(registers), registers);
114 }
115
116
117 void KeyedStringLengthStub::InitializeInterfaceDescriptor(
118 CodeStubInterfaceDescriptor* descriptor) {
119 Register registers[] = { edx, ecx };
120 descriptor->Initialize(ARRAY_SIZE(registers), registers);
121 }
122
123
96 void KeyedStoreFastElementStub::InitializeInterfaceDescriptor( 124 void KeyedStoreFastElementStub::InitializeInterfaceDescriptor(
97 CodeStubInterfaceDescriptor* descriptor) { 125 CodeStubInterfaceDescriptor* descriptor) {
98 Register registers[] = { edx, ecx, eax }; 126 Register registers[] = { edx, ecx, eax };
99 descriptor->Initialize( 127 descriptor->Initialize(
100 ARRAY_SIZE(registers), registers, 128 ARRAY_SIZE(registers), registers,
101 FUNCTION_ADDR(KeyedStoreIC_MissFromStubFailure)); 129 FUNCTION_ADDR(KeyedStoreIC_MissFromStubFailure));
102 } 130 }
103 131
104 132
105 void TransitionElementsKindStub::InitializeInterfaceDescriptor( 133 void TransitionElementsKindStub::InitializeInterfaceDescriptor(
(...skipping 1218 matching lines...) Expand 10 before | Expand all | Expand 10 after
1324 __ bind(&runtime); 1352 __ bind(&runtime);
1325 __ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1); 1353 __ TailCallRuntime(Runtime::kNewStrictArguments, 3, 1);
1326 } 1354 }
1327 1355
1328 1356
1329 void RegExpExecStub::Generate(MacroAssembler* masm) { 1357 void RegExpExecStub::Generate(MacroAssembler* masm) {
1330 // Just jump directly to runtime if native RegExp is not selected at compile 1358 // Just jump directly to runtime if native RegExp is not selected at compile
1331 // time or if regexp entry in generated code is turned off runtime switch or 1359 // time or if regexp entry in generated code is turned off runtime switch or
1332 // at compilation. 1360 // at compilation.
1333 #ifdef V8_INTERPRETED_REGEXP 1361 #ifdef V8_INTERPRETED_REGEXP
1334 __ TailCallRuntime(Runtime::kRegExpExecRT, 4, 1); 1362 __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
1335 #else // V8_INTERPRETED_REGEXP 1363 #else // V8_INTERPRETED_REGEXP
1336 1364
1337 // Stack frame on entry. 1365 // Stack frame on entry.
1338 // esp[0]: return address 1366 // esp[0]: return address
1339 // esp[4]: last_match_info (expected JSArray) 1367 // esp[4]: last_match_info (expected JSArray)
1340 // esp[8]: previous index 1368 // esp[8]: previous index
1341 // esp[12]: subject string 1369 // esp[12]: subject string
1342 // esp[16]: JSRegExp object 1370 // esp[16]: JSRegExp object
1343 1371
1344 static const int kLastMatchInfoOffset = 1 * kPointerSize; 1372 static const int kLastMatchInfoOffset = 1 * kPointerSize;
(...skipping 3644 matching lines...) Expand 10 before | Expand all | Expand 10 after
4989 Operand(ebp, 7 * kPointerSize), 5017 Operand(ebp, 7 * kPointerSize),
4990 NULL); 5018 NULL);
4991 } 5019 }
4992 5020
4993 5021
4994 #undef __ 5022 #undef __
4995 5023
4996 } } // namespace v8::internal 5024 } } // namespace v8::internal
4997 5025
4998 #endif // V8_TARGET_ARCH_IA32 5026 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/hydrogen.cc ('k') | src/ia32/debug-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698