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

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

Issue 2757673004: PPC/s390: [regexp] Port RegExpExecStub to CSA (mostly) (Closed)
Patch Set: Created 3 years, 9 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
« no previous file with comments | « no previous file | src/s390/code-stubs-s390.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 #if V8_TARGET_ARCH_PPC 5 #if V8_TARGET_ARCH_PPC
6 6
7 #include "src/code-stubs.h" 7 #include "src/code-stubs.h"
8 #include "src/api-arguments.h" 8 #include "src/api-arguments.h"
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/bootstrapper.h" 10 #include "src/bootstrapper.h"
(...skipping 1227 matching lines...) Expand 10 before | Expand all | Expand 10 after
1238 // Argument 8 (r10): Indicate that this is a direct call from JavaScript. 1238 // Argument 8 (r10): Indicate that this is a direct call from JavaScript.
1239 __ li(r10, Operand(1)); 1239 __ li(r10, Operand(1));
1240 1240
1241 // Argument 7 (r9): Start (high end) of backtracking stack memory area. 1241 // Argument 7 (r9): Start (high end) of backtracking stack memory area.
1242 ExternalReference address_of_regexp_stack_memory_address = 1242 ExternalReference address_of_regexp_stack_memory_address =
1243 ExternalReference::address_of_regexp_stack_memory_address(isolate()); 1243 ExternalReference::address_of_regexp_stack_memory_address(isolate());
1244 ExternalReference address_of_regexp_stack_memory_size = 1244 ExternalReference address_of_regexp_stack_memory_size =
1245 ExternalReference::address_of_regexp_stack_memory_size(isolate()); 1245 ExternalReference::address_of_regexp_stack_memory_size(isolate());
1246 __ mov(r11, Operand(address_of_regexp_stack_memory_address)); 1246 __ mov(r11, Operand(address_of_regexp_stack_memory_address));
1247 __ LoadP(r11, MemOperand(r11, 0)); 1247 __ LoadP(r11, MemOperand(r11, 0));
1248 __ mov(r12, Operand(address_of_regexp_stack_memory_size)); 1248 __ mov(ip, Operand(address_of_regexp_stack_memory_size));
jgruber 2017/03/17 07:15:49 Out of curiosity, is ip not the instruction pointe
john.yan 2017/03/17 13:48:41 ip on ppc/s390 is the Inter Procedural register.
1249 __ LoadP(r12, MemOperand(r12, 0)); 1249 __ LoadP(ip, MemOperand(ip, 0));
1250 __ add(r9, r11, r12); 1250 __ add(r9, r11, ip);
1251 1251
1252 // Argument 6 (r8): Set the number of capture registers to zero to force 1252 // Argument 6 (r8): Set the number of capture registers to zero to force
1253 // global egexps to behave as non-global. This does not affect non-global 1253 // global egexps to behave as non-global. This does not affect non-global
1254 // regexps. 1254 // regexps.
1255 __ li(r8, Operand::Zero()); 1255 __ li(r8, Operand::Zero());
1256 1256
1257 // Argument 5 (r7): static offsets vector buffer. 1257 // Argument 5 (r7): static offsets vector buffer.
1258 __ mov( 1258 __ mov(
1259 r7, 1259 r7,
1260 Operand(ExternalReference::address_of_static_offsets_vector(isolate()))); 1260 Operand(ExternalReference::address_of_static_offsets_vector(isolate())));
(...skipping 1915 matching lines...) Expand 10 before | Expand all | Expand 10 after
3176 fp, (PropertyCallbackArguments::kReturnValueOffset + 3) * kPointerSize); 3176 fp, (PropertyCallbackArguments::kReturnValueOffset + 3) * kPointerSize);
3177 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, 3177 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref,
3178 kStackUnwindSpace, NULL, return_value_operand, NULL); 3178 kStackUnwindSpace, NULL, return_value_operand, NULL);
3179 } 3179 }
3180 3180
3181 #undef __ 3181 #undef __
3182 } // namespace internal 3182 } // namespace internal
3183 } // namespace v8 3183 } // namespace v8
3184 3184
3185 #endif // V8_TARGET_ARCH_PPC 3185 #endif // V8_TARGET_ARCH_PPC
OLDNEW
« no previous file with comments | « no previous file | src/s390/code-stubs-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698