OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 | 99 |
100 // --------------------------------------------------------------------------- | 100 // --------------------------------------------------------------------------- |
101 // Activation frames | 101 // Activation frames |
102 | 102 |
103 void EnterInternalFrame() { EnterFrame(StackFrame::INTERNAL); } | 103 void EnterInternalFrame() { EnterFrame(StackFrame::INTERNAL); } |
104 void LeaveInternalFrame() { LeaveFrame(StackFrame::INTERNAL); } | 104 void LeaveInternalFrame() { LeaveFrame(StackFrame::INTERNAL); } |
105 | 105 |
106 void EnterConstructFrame() { EnterFrame(StackFrame::CONSTRUCT); } | 106 void EnterConstructFrame() { EnterFrame(StackFrame::CONSTRUCT); } |
107 void LeaveConstructFrame() { LeaveFrame(StackFrame::CONSTRUCT); } | 107 void LeaveConstructFrame() { LeaveFrame(StackFrame::CONSTRUCT); } |
108 | 108 |
109 // Enter specific kind of exit frame; either in normal or | 109 // Enter specific kind of exit frame; either EXIT or |
110 // debug mode. Expects the number of arguments in register rax and | 110 // EXIT_DEBUG. Expects the number of arguments in register rax and |
111 // sets up the number of arguments in register rdi and the pointer | 111 // sets up the number of arguments in register rdi and the pointer |
112 // to the first argument in register rsi. | 112 // to the first argument in register rsi. |
113 void EnterExitFrame(ExitFrame::Mode mode, int result_size = 1); | 113 void EnterExitFrame(StackFrame::Type type, int result_size = 1); |
114 | 114 |
115 // Leave the current exit frame. Expects/provides the return value in | 115 // Leave the current exit frame. Expects/provides the return value in |
116 // register rax:rdx (untouched) and the pointer to the first | 116 // register rax:rdx (untouched) and the pointer to the first |
117 // argument in register rsi. | 117 // argument in register rsi. |
118 void LeaveExitFrame(ExitFrame::Mode mode, int result_size = 1); | 118 void LeaveExitFrame(StackFrame::Type type, int result_size = 1); |
119 | 119 |
120 | 120 |
121 // --------------------------------------------------------------------------- | 121 // --------------------------------------------------------------------------- |
122 // JavaScript invokes | 122 // JavaScript invokes |
123 | 123 |
124 // Invoke the JavaScript function code by either calling or jumping. | 124 // Invoke the JavaScript function code by either calling or jumping. |
125 void InvokeCode(Register code, | 125 void InvokeCode(Register code, |
126 const ParameterCount& expected, | 126 const ParameterCount& expected, |
127 const ParameterCount& actual, | 127 const ParameterCount& actual, |
128 InvokeFlag flag); | 128 InvokeFlag flag); |
(...skipping 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
707 } \ | 707 } \ |
708 masm-> | 708 masm-> |
709 #else | 709 #else |
710 #define ACCESS_MASM(masm) masm-> | 710 #define ACCESS_MASM(masm) masm-> |
711 #endif | 711 #endif |
712 | 712 |
713 | 713 |
714 } } // namespace v8::internal | 714 } } // namespace v8::internal |
715 | 715 |
716 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 716 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |