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 #ifndef V8_X87_MACRO_ASSEMBLER_X87_H_ | 5 #ifndef V8_X87_MACRO_ASSEMBLER_X87_H_ |
6 #define V8_X87_MACRO_ASSEMBLER_X87_H_ | 6 #define V8_X87_MACRO_ASSEMBLER_X87_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 void LoadWeakValue(Register value, Handle<WeakCell> cell, Label* miss); | 318 void LoadWeakValue(Register value, Handle<WeakCell> cell, Label* miss); |
319 | 319 |
320 // --------------------------------------------------------------------------- | 320 // --------------------------------------------------------------------------- |
321 // JavaScript invokes | 321 // JavaScript invokes |
322 | 322 |
323 // Removes current frame and its arguments from the stack preserving | 323 // Removes current frame and its arguments from the stack preserving |
324 // the arguments and a return address pushed to the stack for the next call. | 324 // the arguments and a return address pushed to the stack for the next call. |
325 // |ra_state| defines whether return address is already pushed to stack or | 325 // |ra_state| defines whether return address is already pushed to stack or |
326 // not. Both |callee_args_count| and |caller_args_count_reg| do not include | 326 // not. Both |callee_args_count| and |caller_args_count_reg| do not include |
327 // receiver. |callee_args_count| is not modified, |caller_args_count_reg| | 327 // receiver. |callee_args_count| is not modified, |caller_args_count_reg| |
328 // is trashed. | 328 // is trashed. |number_of_temp_values_after_return_address| specifies |
| 329 // the number of words pushed to the stack after the return address. This is |
| 330 // to allow "allocation" of scratch registers that this function requires |
| 331 // by saving their values on the stack. |
329 void PrepareForTailCall(const ParameterCount& callee_args_count, | 332 void PrepareForTailCall(const ParameterCount& callee_args_count, |
330 Register caller_args_count_reg, Register scratch0, | 333 Register caller_args_count_reg, Register scratch0, |
331 Register scratch1, ReturnAddressState ra_state); | 334 Register scratch1, ReturnAddressState ra_state, |
| 335 int number_of_temp_values_after_return_address); |
332 | 336 |
333 // Invoke the JavaScript function code by either calling or jumping. | 337 // Invoke the JavaScript function code by either calling or jumping. |
334 | 338 |
335 void InvokeFunctionCode(Register function, Register new_target, | 339 void InvokeFunctionCode(Register function, Register new_target, |
336 const ParameterCount& expected, | 340 const ParameterCount& expected, |
337 const ParameterCount& actual, InvokeFlag flag, | 341 const ParameterCount& actual, InvokeFlag flag, |
338 const CallWrapper& call_wrapper); | 342 const CallWrapper& call_wrapper); |
339 | 343 |
340 void FloodFunctionIfStepping(Register fun, Register new_target, | 344 void FloodFunctionIfStepping(Register fun, Register new_target, |
341 const ParameterCount& expected, | 345 const ParameterCount& expected, |
(...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1014 } \ | 1018 } \ |
1015 masm-> | 1019 masm-> |
1016 #else | 1020 #else |
1017 #define ACCESS_MASM(masm) masm-> | 1021 #define ACCESS_MASM(masm) masm-> |
1018 #endif | 1022 #endif |
1019 | 1023 |
1020 } // namespace internal | 1024 } // namespace internal |
1021 } // namespace v8 | 1025 } // namespace v8 |
1022 | 1026 |
1023 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ | 1027 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ |
OLD | NEW |