OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 742 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
753 // The argument count assumes all arguments are word sized. | 753 // The argument count assumes all arguments are word sized. |
754 // Some compilers/platforms require the stack to be aligned when calling | 754 // Some compilers/platforms require the stack to be aligned when calling |
755 // C++ code. | 755 // C++ code. |
756 // Needs a scratch register to do some arithmetic. This register will be | 756 // Needs a scratch register to do some arithmetic. This register will be |
757 // trashed. | 757 // trashed. |
758 void PrepareCallCFunction(int num_arguments, Register scratch); | 758 void PrepareCallCFunction(int num_arguments, Register scratch); |
759 | 759 |
760 // Arguments 1-4 are placed in registers a0 thru a3 respectively. | 760 // Arguments 1-4 are placed in registers a0 thru a3 respectively. |
761 // Arguments 5..n are stored to stack using following: | 761 // Arguments 5..n are stored to stack using following: |
762 // sw(t0, CFunctionArgumentOperand(5)); | 762 // sw(t0, CFunctionArgumentOperand(5)); |
763 | 763 |
764 // Calls a C function and cleans up the space for arguments allocated | 764 // Calls a C function and cleans up the space for arguments allocated |
765 // by PrepareCallCFunction. The called function is not allowed to trigger a | 765 // by PrepareCallCFunction. The called function is not allowed to trigger a |
766 // garbage collection, since that might move the code and invalidate the | 766 // garbage collection, since that might move the code and invalidate the |
767 // return address (unless this is somehow accounted for by the called | 767 // return address (unless this is somehow accounted for by the called |
768 // function). | 768 // function). |
769 void CallCFunction(ExternalReference function, int num_arguments); | 769 void CallCFunction(ExternalReference function, int num_arguments); |
770 void CallCFunction(Register function, Register scratch, int num_arguments); | 770 void CallCFunction(Register function, Register scratch, int num_arguments); |
771 | 771 |
772 // Jump to the builtin routine. | 772 // Jump to the builtin routine. |
773 void JumpToExternalReference(const ExternalReference& builtin); | 773 void JumpToExternalReference(const ExternalReference& builtin); |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1049 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1049 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1050 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1050 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1051 #else | 1051 #else |
1052 #define ACCESS_MASM(masm) masm-> | 1052 #define ACCESS_MASM(masm) masm-> |
1053 #endif | 1053 #endif |
1054 | 1054 |
1055 } } // namespace v8::internal | 1055 } } // namespace v8::internal |
1056 | 1056 |
1057 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1057 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
1058 | 1058 |
OLD | NEW |