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

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

Issue 338883003: Rename arguments object support functions to new scheme. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 6 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/code-stubs-arm.cc ('k') | src/ia32/code-stubs-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 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 2103 matching lines...) Expand 10 before | Expand all | Expand 10 after
2114 2114
2115 // Patch the arguments.length and parameters pointer in the current frame. 2115 // Patch the arguments.length and parameters pointer in the current frame.
2116 __ Ldr(x11, MemOperand(caller_fp, 2116 __ Ldr(x11, MemOperand(caller_fp,
2117 ArgumentsAdaptorFrameConstants::kLengthOffset)); 2117 ArgumentsAdaptorFrameConstants::kLengthOffset));
2118 __ Poke(x11, 0 * kXRegSize); 2118 __ Poke(x11, 0 * kXRegSize);
2119 __ Add(x10, caller_fp, Operand::UntagSmiAndScale(x11, kPointerSizeLog2)); 2119 __ Add(x10, caller_fp, Operand::UntagSmiAndScale(x11, kPointerSizeLog2));
2120 __ Add(x10, x10, StandardFrameConstants::kCallerSPOffset); 2120 __ Add(x10, x10, StandardFrameConstants::kCallerSPOffset);
2121 __ Poke(x10, 1 * kXRegSize); 2121 __ Poke(x10, 1 * kXRegSize);
2122 2122
2123 __ Bind(&runtime); 2123 __ Bind(&runtime);
2124 __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1); 2124 __ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
2125 } 2125 }
2126 2126
2127 2127
2128 void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) { 2128 void ArgumentsAccessStub::GenerateNewSloppyFast(MacroAssembler* masm) {
2129 // Stack layout on entry. 2129 // Stack layout on entry.
2130 // jssp[0]: number of parameters (tagged) 2130 // jssp[0]: number of parameters (tagged)
2131 // jssp[8]: address of receiver argument 2131 // jssp[8]: address of receiver argument
2132 // jssp[16]: function 2132 // jssp[16]: function
2133 // 2133 //
2134 // Returns pointer to result object in x0. 2134 // Returns pointer to result object in x0.
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
2386 2386
2387 __ Bind(&arguments_test); 2387 __ Bind(&arguments_test);
2388 __ Cmp(x10, arg_count); 2388 __ Cmp(x10, arg_count);
2389 __ B(lt, &arguments_loop); 2389 __ B(lt, &arguments_loop);
2390 2390
2391 __ Ret(); 2391 __ Ret();
2392 2392
2393 // Do the runtime call to allocate the arguments object. 2393 // Do the runtime call to allocate the arguments object.
2394 __ Bind(&runtime); 2394 __ Bind(&runtime);
2395 __ Push(function, recv_arg, arg_count_smi); 2395 __ Push(function, recv_arg, arg_count_smi);
2396 __ TailCallRuntime(Runtime::kHiddenNewArgumentsFast, 3, 1); 2396 __ TailCallRuntime(Runtime::kHiddenNewSloppyArguments, 3, 1);
2397 } 2397 }
2398 2398
2399 2399
2400 void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) { 2400 void ArgumentsAccessStub::GenerateNewStrict(MacroAssembler* masm) {
2401 // Stack layout on entry. 2401 // Stack layout on entry.
2402 // jssp[0]: number of parameters (tagged) 2402 // jssp[0]: number of parameters (tagged)
2403 // jssp[8]: address of receiver argument 2403 // jssp[8]: address of receiver argument
2404 // jssp[16]: function 2404 // jssp[16]: function
2405 // 2405 //
2406 // Returns pointer to result object in x0. 2406 // Returns pointer to result object in x0.
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
2519 __ Sub(param_count, param_count, 1); 2519 __ Sub(param_count, param_count, 1);
2520 __ Cbnz(param_count, &loop); 2520 __ Cbnz(param_count, &loop);
2521 2521
2522 // Return from stub. 2522 // Return from stub.
2523 __ Bind(&done); 2523 __ Bind(&done);
2524 __ Ret(); 2524 __ Ret();
2525 2525
2526 // Do the runtime call to allocate the arguments object. 2526 // Do the runtime call to allocate the arguments object.
2527 __ Bind(&runtime); 2527 __ Bind(&runtime);
2528 __ Push(function, params, param_count_smi); 2528 __ Push(function, params, param_count_smi);
2529 __ TailCallRuntime(Runtime::kHiddenNewStrictArgumentsFast, 3, 1); 2529 __ TailCallRuntime(Runtime::kHiddenNewStrictArguments, 3, 1);
2530 } 2530 }
2531 2531
2532 2532
2533 void RegExpExecStub::Generate(MacroAssembler* masm) { 2533 void RegExpExecStub::Generate(MacroAssembler* masm) {
2534 #ifdef V8_INTERPRETED_REGEXP 2534 #ifdef V8_INTERPRETED_REGEXP
2535 __ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1); 2535 __ TailCallRuntime(Runtime::kHiddenRegExpExec, 4, 1);
2536 #else // V8_INTERPRETED_REGEXP 2536 #else // V8_INTERPRETED_REGEXP
2537 2537
2538 // Stack frame on entry. 2538 // Stack frame on entry.
2539 // jssp[0]: last_match_info (expected JSArray) 2539 // jssp[0]: last_match_info (expected JSArray)
(...skipping 3006 matching lines...) Expand 10 before | Expand all | Expand 10 after
5546 MemOperand(fp, 6 * kPointerSize), 5546 MemOperand(fp, 6 * kPointerSize),
5547 NULL); 5547 NULL);
5548 } 5548 }
5549 5549
5550 5550
5551 #undef __ 5551 #undef __
5552 5552
5553 } } // namespace v8::internal 5553 } } // namespace v8::internal
5554 5554
5555 #endif // V8_TARGET_ARCH_ARM64 5555 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm/code-stubs-arm.cc ('k') | src/ia32/code-stubs-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698