| 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 |