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 #if V8_TARGET_ARCH_X64 | 5 #if V8_TARGET_ARCH_X64 |
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 5386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5397 | 5397 |
5398 typedef FunctionCallbackArguments FCA; | 5398 typedef FunctionCallbackArguments FCA; |
5399 | 5399 |
5400 STATIC_ASSERT(FCA::kContextSaveIndex == 6); | 5400 STATIC_ASSERT(FCA::kContextSaveIndex == 6); |
5401 STATIC_ASSERT(FCA::kCalleeIndex == 5); | 5401 STATIC_ASSERT(FCA::kCalleeIndex == 5); |
5402 STATIC_ASSERT(FCA::kDataIndex == 4); | 5402 STATIC_ASSERT(FCA::kDataIndex == 4); |
5403 STATIC_ASSERT(FCA::kReturnValueOffset == 3); | 5403 STATIC_ASSERT(FCA::kReturnValueOffset == 3); |
5404 STATIC_ASSERT(FCA::kReturnValueDefaultValueIndex == 2); | 5404 STATIC_ASSERT(FCA::kReturnValueDefaultValueIndex == 2); |
5405 STATIC_ASSERT(FCA::kIsolateIndex == 1); | 5405 STATIC_ASSERT(FCA::kIsolateIndex == 1); |
5406 STATIC_ASSERT(FCA::kHolderIndex == 0); | 5406 STATIC_ASSERT(FCA::kHolderIndex == 0); |
5407 STATIC_ASSERT(FCA::kArgsLength == 7); | 5407 STATIC_ASSERT(FCA::kNewTargetIndex == 7); |
| 5408 STATIC_ASSERT(FCA::kArgsLength == 8); |
5408 | 5409 |
5409 __ PopReturnAddressTo(return_address); | 5410 __ PopReturnAddressTo(return_address); |
5410 | 5411 |
| 5412 // new target |
| 5413 __ PushRoot(Heap::kUndefinedValueRootIndex); |
| 5414 |
5411 // context save | 5415 // context save |
5412 __ Push(context); | 5416 __ Push(context); |
5413 | 5417 |
5414 // callee | 5418 // callee |
5415 __ Push(callee); | 5419 __ Push(callee); |
5416 | 5420 |
5417 // call data | 5421 // call data |
5418 __ Push(call_data); | 5422 __ Push(call_data); |
5419 Register scratch = call_data; | 5423 Register scratch = call_data; |
5420 if (!this->call_data_undefined()) { | 5424 if (!this->call_data_undefined()) { |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5571 kStackUnwindSpace, nullptr, return_value_operand, | 5575 kStackUnwindSpace, nullptr, return_value_operand, |
5572 NULL); | 5576 NULL); |
5573 } | 5577 } |
5574 | 5578 |
5575 #undef __ | 5579 #undef __ |
5576 | 5580 |
5577 } // namespace internal | 5581 } // namespace internal |
5578 } // namespace v8 | 5582 } // namespace v8 |
5579 | 5583 |
5580 #endif // V8_TARGET_ARCH_X64 | 5584 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |