OLD | NEW |
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 <limits.h> // For LONG_MIN, LONG_MAX. | 5 #include <limits.h> // For LONG_MIN, LONG_MAX. |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/base/division-by-constant.h" | 10 #include "src/base/division-by-constant.h" |
(...skipping 1375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1386 Jump(code); | 1386 Jump(code); |
1387 } | 1387 } |
1388 | 1388 |
1389 // Continue here if InvokePrologue does handle the invocation due to | 1389 // Continue here if InvokePrologue does handle the invocation due to |
1390 // mismatched parameter counts. | 1390 // mismatched parameter counts. |
1391 bind(&done); | 1391 bind(&done); |
1392 } | 1392 } |
1393 } | 1393 } |
1394 | 1394 |
1395 | 1395 |
1396 void MacroAssembler::InvokeFunction(Register fun, | 1396 void MacroAssembler::InvokeFunction(Register fun, Register new_target, |
1397 Register new_target, | |
1398 const ParameterCount& actual, | 1397 const ParameterCount& actual, |
1399 InvokeFlag flag, | 1398 InvokeFlag flag, |
1400 const CallWrapper& call_wrapper) { | 1399 const CallWrapper& call_wrapper) { |
1401 // You can't call a function without a valid frame. | 1400 // You can't call a function without a valid frame. |
1402 DCHECK(flag == JUMP_FUNCTION || has_frame()); | 1401 DCHECK(flag == JUMP_FUNCTION || has_frame()); |
1403 | 1402 |
1404 // Contract with called JS functions requires that function is passed in r1. | 1403 // Contract with called JS functions requires that function is passed in r1. |
1405 DCHECK(fun.is(r1)); | 1404 DCHECK(fun.is(r1)); |
1406 | 1405 |
1407 Register expected_reg = r2; | 1406 Register expected_reg = r2; |
(...skipping 2279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3687 } | 3686 } |
3688 } | 3687 } |
3689 if (mag.shift > 0) mov(result, Operand(result, ASR, mag.shift)); | 3688 if (mag.shift > 0) mov(result, Operand(result, ASR, mag.shift)); |
3690 add(result, result, Operand(dividend, LSR, 31)); | 3689 add(result, result, Operand(dividend, LSR, 31)); |
3691 } | 3690 } |
3692 | 3691 |
3693 } // namespace internal | 3692 } // namespace internal |
3694 } // namespace v8 | 3693 } // namespace v8 |
3695 | 3694 |
3696 #endif // V8_TARGET_ARCH_ARM | 3695 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |