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