OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 916 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
927 void SetCallCDoubleArguments(DoubleRegister dreg); | 927 void SetCallCDoubleArguments(DoubleRegister dreg); |
928 void SetCallCDoubleArguments(DoubleRegister dreg1, DoubleRegister dreg2); | 928 void SetCallCDoubleArguments(DoubleRegister dreg1, DoubleRegister dreg2); |
929 void SetCallCDoubleArguments(DoubleRegister dreg, Register reg); | 929 void SetCallCDoubleArguments(DoubleRegister dreg, Register reg); |
930 | 930 |
931 // Calls a C function and cleans up the space for arguments allocated | 931 // Calls a C function and cleans up the space for arguments allocated |
932 // by PrepareCallCFunction. The called function is not allowed to trigger a | 932 // by PrepareCallCFunction. The called function is not allowed to trigger a |
933 // garbage collection, since that might move the code and invalidate the | 933 // garbage collection, since that might move the code and invalidate the |
934 // return address (unless this is somehow accounted for by the called | 934 // return address (unless this is somehow accounted for by the called |
935 // function). | 935 // function). |
936 void CallCFunction(ExternalReference function, int num_arguments); | 936 void CallCFunction(ExternalReference function, int num_arguments); |
937 void CallCFunction(Register function, Register scratch, int num_arguments); | 937 void CallCFunction(Register function, int num_arguments); |
938 void CallCFunction(ExternalReference function, | 938 void CallCFunction(ExternalReference function, |
939 int num_reg_arguments, | 939 int num_reg_arguments, |
940 int num_double_arguments); | 940 int num_double_arguments); |
941 void CallCFunction(Register function, Register scratch, | 941 void CallCFunction(Register function, |
942 int num_reg_arguments, | 942 int num_reg_arguments, |
943 int num_double_arguments); | 943 int num_double_arguments); |
944 | 944 |
945 void GetCFunctionDoubleResult(const DoubleRegister dst); | 945 void GetCFunctionDoubleResult(const DoubleRegister dst); |
946 | 946 |
947 // Calls an API function. Allocates HandleScope, extracts returned value | 947 // Calls an API function. Allocates HandleScope, extracts returned value |
948 // from handle and propagates exceptions. Restores context. | 948 // from handle and propagates exceptions. Restores context. |
949 // stack_space - space to be unwound on exit (includes the call js | 949 // stack_space - space to be unwound on exit (includes the call js |
950 // arguments space and the additional space allocated for the fast call). | 950 // arguments space and the additional space allocated for the fast call). |
951 MaybeObject* TryCallApiFunctionAndReturn(ExternalReference function, | 951 MaybeObject* TryCallApiFunctionAndReturn(ExternalReference function, |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1154 | 1154 |
1155 | 1155 |
1156 void LoadInstanceDescriptors(Register map, Register descriptors); | 1156 void LoadInstanceDescriptors(Register map, Register descriptors); |
1157 | 1157 |
1158 // Activation support. | 1158 // Activation support. |
1159 void EnterFrame(StackFrame::Type type); | 1159 void EnterFrame(StackFrame::Type type); |
1160 void LeaveFrame(StackFrame::Type type); | 1160 void LeaveFrame(StackFrame::Type type); |
1161 | 1161 |
1162 private: | 1162 private: |
1163 void CallCFunctionHelper(Register function, | 1163 void CallCFunctionHelper(Register function, |
1164 ExternalReference function_reference, | |
1165 Register scratch, | |
1166 int num_reg_arguments, | 1164 int num_reg_arguments, |
1167 int num_double_arguments); | 1165 int num_double_arguments); |
1168 | 1166 |
1169 void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); | 1167 void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); |
1170 | 1168 |
1171 // Helper functions for generating invokes. | 1169 // Helper functions for generating invokes. |
1172 void InvokePrologue(const ParameterCount& expected, | 1170 void InvokePrologue(const ParameterCount& expected, |
1173 const ParameterCount& actual, | 1171 const ParameterCount& actual, |
1174 Handle<Code> code_constant, | 1172 Handle<Code> code_constant, |
1175 Register code_reg, | 1173 Register code_reg, |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1266 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1264 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1267 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1265 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1268 #else | 1266 #else |
1269 #define ACCESS_MASM(masm) masm-> | 1267 #define ACCESS_MASM(masm) masm-> |
1270 #endif | 1268 #endif |
1271 | 1269 |
1272 | 1270 |
1273 } } // namespace v8::internal | 1271 } } // namespace v8::internal |
1274 | 1272 |
1275 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1273 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |