| OLD | NEW | 
|     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 2066 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2077   //   x3   function          function pointer |  2077   //   x3   function          function pointer | 
|  2078   //   x11  caller_fp         caller's frame pointer |  2078   //   x11  caller_fp         caller's frame pointer | 
|  2079   //   x13  param_count       number of parameters passed to function |  2079   //   x13  param_count       number of parameters passed to function | 
|  2080  |  2080  | 
|  2081   // Patch the argument length and parameters pointer. |  2081   // Patch the argument length and parameters pointer. | 
|  2082   __ Ldr(param_count_smi, |  2082   __ Ldr(param_count_smi, | 
|  2083          MemOperand(caller_fp, |  2083          MemOperand(caller_fp, | 
|  2084                     ArgumentsAdaptorFrameConstants::kLengthOffset)); |  2084                     ArgumentsAdaptorFrameConstants::kLengthOffset)); | 
|  2085   __ SmiUntag(param_count, param_count_smi); |  2085   __ SmiUntag(param_count, param_count_smi); | 
|  2086   if (has_new_target()) { |  2086   if (has_new_target()) { | 
 |  2087     __ Cmp(param_count, Operand(0)); | 
 |  2088     Label skip_decrement; | 
 |  2089     __ B(eq, &skip_decrement); | 
|  2087     // Skip new.target: it is not a part of arguments. |  2090     // Skip new.target: it is not a part of arguments. | 
|  2088     __ Sub(param_count, param_count, Operand(1)); |  2091     __ Sub(param_count, param_count, Operand(1)); | 
|  2089     __ SmiTag(param_count_smi, param_count); |  2092     __ SmiTag(param_count_smi, param_count); | 
 |  2093     __ Bind(&skip_decrement); | 
|  2090   } |  2094   } | 
|  2091   __ Add(x10, caller_fp, Operand(param_count, LSL, kPointerSizeLog2)); |  2095   __ Add(x10, caller_fp, Operand(param_count, LSL, kPointerSizeLog2)); | 
|  2092   __ Add(params, x10, StandardFrameConstants::kCallerSPOffset); |  2096   __ Add(params, x10, StandardFrameConstants::kCallerSPOffset); | 
|  2093  |  2097  | 
|  2094   // Try the new space allocation. Start out with computing the size of the |  2098   // Try the new space allocation. Start out with computing the size of the | 
|  2095   // arguments object and the elements array in words. |  2099   // arguments object and the elements array in words. | 
|  2096   Register size = x10; |  2100   Register size = x10; | 
|  2097   __ Bind(&try_allocate); |  2101   __ Bind(&try_allocate); | 
|  2098   __ Add(size, param_count, FixedArray::kHeaderSize / kPointerSize); |  2102   __ Add(size, param_count, FixedArray::kHeaderSize / kPointerSize); | 
|  2099   __ Cmp(param_count, 0); |  2103   __ Cmp(param_count, 0); | 
| (...skipping 3653 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  5753                            kStackUnwindSpace, NULL, spill_offset, |  5757                            kStackUnwindSpace, NULL, spill_offset, | 
|  5754                            MemOperand(fp, 6 * kPointerSize), NULL); |  5758                            MemOperand(fp, 6 * kPointerSize), NULL); | 
|  5755 } |  5759 } | 
|  5756  |  5760  | 
|  5757  |  5761  | 
|  5758 #undef __ |  5762 #undef __ | 
|  5759  |  5763  | 
|  5760 } }  // namespace v8::internal |  5764 } }  // namespace v8::internal | 
|  5761  |  5765  | 
|  5762 #endif  // V8_TARGET_ARCH_ARM64 |  5766 #endif  // V8_TARGET_ARCH_ARM64 | 
| OLD | NEW |