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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 const ParameterCount& actual, | 142 const ParameterCount& actual, |
143 RelocInfo::Mode rmode, | 143 RelocInfo::Mode rmode, |
144 InvokeFlag flag); | 144 InvokeFlag flag); |
145 | 145 |
146 // Invoke the JavaScript function in the given register. Changes the | 146 // Invoke the JavaScript function in the given register. Changes the |
147 // current context to the context in the function before invoking. | 147 // current context to the context in the function before invoking. |
148 void InvokeFunction(Register function, | 148 void InvokeFunction(Register function, |
149 const ParameterCount& actual, | 149 const ParameterCount& actual, |
150 InvokeFlag flag); | 150 InvokeFlag flag); |
151 | 151 |
| 152 void InvokeFunction(JSFunction* function, |
| 153 const ParameterCount& actual); |
| 154 |
152 // Invoke specified builtin JavaScript function. Adds an entry to | 155 // Invoke specified builtin JavaScript function. Adds an entry to |
153 // the unresolved list if the name does not resolve. | 156 // the unresolved list if the name does not resolve. |
154 void InvokeBuiltin(Builtins::JavaScript id, InvokeFlag flag); | 157 void InvokeBuiltin(Builtins::JavaScript id, InvokeFlag flag); |
155 | 158 |
156 // Store the code object for the given builtin in the target register. | 159 // Store the code object for the given builtin in the target register. |
157 void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 160 void GetBuiltinEntry(Register target, Builtins::JavaScript id); |
158 | 161 |
159 | 162 |
160 // --------------------------------------------------------------------------- | 163 // --------------------------------------------------------------------------- |
161 // Smi tagging, untagging and operations on tagged smis. | 164 // Smi tagging, untagging and operations on tagged smis. |
(...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
637 // Return from a code stub after popping its arguments. | 640 // Return from a code stub after popping its arguments. |
638 void StubReturn(int argc); | 641 void StubReturn(int argc); |
639 | 642 |
640 // Call a runtime routine. | 643 // Call a runtime routine. |
641 // Eventually this should be used for all C calls. | 644 // Eventually this should be used for all C calls. |
642 void CallRuntime(Runtime::Function* f, int num_arguments); | 645 void CallRuntime(Runtime::Function* f, int num_arguments); |
643 | 646 |
644 // Convenience function: Same as above, but takes the fid instead. | 647 // Convenience function: Same as above, but takes the fid instead. |
645 void CallRuntime(Runtime::FunctionId id, int num_arguments); | 648 void CallRuntime(Runtime::FunctionId id, int num_arguments); |
646 | 649 |
| 650 // Convenience function: call an external reference. |
| 651 void CallExternalReference(const ExternalReference& ext, |
| 652 int num_arguments); |
| 653 |
647 // Tail call of a runtime routine (jump). | 654 // Tail call of a runtime routine (jump). |
648 // Like JumpToRuntime, but also takes care of passing the number | 655 // Like JumpToRuntime, but also takes care of passing the number |
649 // of arguments. | 656 // of arguments. |
650 void TailCallRuntime(const ExternalReference& ext, | 657 void TailCallRuntime(const ExternalReference& ext, |
651 int num_arguments, | 658 int num_arguments, |
652 int result_size); | 659 int result_size); |
653 | 660 |
654 // Jump to a runtime routine. | 661 // Jump to a runtime routine. |
655 void JumpToRuntime(const ExternalReference& ext, int result_size); | 662 void JumpToRuntime(const ExternalReference& ext, int result_size); |
656 | 663 |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
793 } \ | 800 } \ |
794 masm-> | 801 masm-> |
795 #else | 802 #else |
796 #define ACCESS_MASM(masm) masm-> | 803 #define ACCESS_MASM(masm) masm-> |
797 #endif | 804 #endif |
798 | 805 |
799 | 806 |
800 } } // namespace v8::internal | 807 } } // namespace v8::internal |
801 | 808 |
802 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 809 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |