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

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

Issue 2686723004: [stubs] Port LoadFunctionPrototypeStub to CSA (Closed)
Patch Set: Created 3 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
« no previous file with comments | « src/arm/macro-assembler-arm.cc ('k') | src/arm64/macro-assembler-arm64.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 #if V8_TARGET_ARCH_ARM64 5 #if V8_TARGET_ARCH_ARM64
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/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 1250 matching lines...) Expand 10 before | Expand all | Expand 10 after
1261 // Restore the callee-saved registers and return. 1261 // Restore the callee-saved registers and return.
1262 DCHECK(jssp.Is(__ StackPointer())); 1262 DCHECK(jssp.Is(__ StackPointer()));
1263 __ Mov(csp, jssp); 1263 __ Mov(csp, jssp);
1264 __ SetStackPointer(csp); 1264 __ SetStackPointer(csp);
1265 __ PopCalleeSavedRegisters(); 1265 __ PopCalleeSavedRegisters();
1266 // After this point, we must not modify jssp because it is a callee-saved 1266 // After this point, we must not modify jssp because it is a callee-saved
1267 // register which we have just restored. 1267 // register which we have just restored.
1268 __ Ret(); 1268 __ Ret();
1269 } 1269 }
1270 1270
1271
1272 void FunctionPrototypeStub::Generate(MacroAssembler* masm) {
1273 Label miss;
1274 Register receiver = LoadDescriptor::ReceiverRegister();
1275 // Ensure that the vector and slot registers won't be clobbered before
1276 // calling the miss handler.
1277 DCHECK(!AreAliased(x10, x11, LoadWithVectorDescriptor::VectorRegister(),
1278 LoadWithVectorDescriptor::SlotRegister()));
1279
1280 NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, x10,
1281 x11, &miss);
1282
1283 __ Bind(&miss);
1284 PropertyAccessCompiler::TailCallBuiltin(
1285 masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC));
1286 }
1287
1288 void RegExpExecStub::Generate(MacroAssembler* masm) { 1271 void RegExpExecStub::Generate(MacroAssembler* masm) {
1289 #ifdef V8_INTERPRETED_REGEXP 1272 #ifdef V8_INTERPRETED_REGEXP
1290 __ TailCallRuntime(Runtime::kRegExpExec); 1273 __ TailCallRuntime(Runtime::kRegExpExec);
1291 #else // V8_INTERPRETED_REGEXP 1274 #else // V8_INTERPRETED_REGEXP
1292 1275
1293 // Stack frame on entry. 1276 // Stack frame on entry.
1294 // jssp[0]: last_match_info (expected JSArray) 1277 // jssp[0]: last_match_info (expected JSArray)
1295 // jssp[8]: previous index 1278 // jssp[8]: previous index
1296 // jssp[16]: subject string 1279 // jssp[16]: subject string
1297 // jssp[24]: JSRegExp object 1280 // jssp[24]: JSRegExp object
(...skipping 2328 matching lines...) Expand 10 before | Expand all | Expand 10 after
3626 kStackUnwindSpace, NULL, spill_offset, 3609 kStackUnwindSpace, NULL, spill_offset,
3627 return_value_operand, NULL); 3610 return_value_operand, NULL);
3628 } 3611 }
3629 3612
3630 #undef __ 3613 #undef __
3631 3614
3632 } // namespace internal 3615 } // namespace internal
3633 } // namespace v8 3616 } // namespace v8
3634 3617
3635 #endif // V8_TARGET_ARCH_ARM64 3618 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm/macro-assembler-arm.cc ('k') | src/arm64/macro-assembler-arm64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698