OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 1260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1271 // function). | 1271 // function). |
1272 void CallCFunction(ExternalReference function, int num_arguments); | 1272 void CallCFunction(ExternalReference function, int num_arguments); |
1273 void CallCFunction(Register function, int num_arguments); | 1273 void CallCFunction(Register function, int num_arguments); |
1274 void CallCFunction(ExternalReference function, | 1274 void CallCFunction(ExternalReference function, |
1275 int num_reg_arguments, | 1275 int num_reg_arguments, |
1276 int num_double_arguments); | 1276 int num_double_arguments); |
1277 void CallCFunction(Register function, | 1277 void CallCFunction(Register function, |
1278 int num_reg_arguments, | 1278 int num_reg_arguments, |
1279 int num_double_arguments); | 1279 int num_double_arguments); |
1280 void GetCFunctionDoubleResult(const DoubleRegister dst); | 1280 void GetCFunctionDoubleResult(const DoubleRegister dst); |
| 1281 void GetFromCDoubleArguments(const DoubleRegister dst); |
1281 | 1282 |
1282 // There are two ways of passing double arguments on MIPS, depending on | 1283 // There are two ways of passing double arguments on MIPS, depending on |
1283 // whether soft or hard floating point ABI is used. These functions | 1284 // whether soft or hard floating point ABI is used. These functions |
1284 // abstract parameter passing for the three different ways we call | 1285 // abstract parameter passing for the three different ways we call |
1285 // C functions from generated code. | 1286 // C functions from generated code. |
1286 void SetCallCDoubleArguments(DoubleRegister dreg); | 1287 void SetCallCDoubleArguments(DoubleRegister dreg); |
1287 void SetCallCDoubleArguments(DoubleRegister dreg1, DoubleRegister dreg2); | 1288 void SetCallCDoubleArguments(DoubleRegister dreg1, DoubleRegister dreg2); |
1288 void SetCallCDoubleArguments(DoubleRegister dreg, Register reg); | 1289 void SetCallCDoubleArguments(DoubleRegister dreg, Register reg); |
| 1290 void SetForCDoubleResult(DoubleRegister dreg); |
1289 | 1291 |
1290 // Calls an API function. Allocates HandleScope, extracts returned value | 1292 // Calls an API function. Allocates HandleScope, extracts returned value |
1291 // from handle and propagates exceptions. Restores context. stack_space | 1293 // from handle and propagates exceptions. Restores context. stack_space |
1292 // - space to be unwound on exit (includes the call JS arguments space and | 1294 // - space to be unwound on exit (includes the call JS arguments space and |
1293 // the additional space allocated for the fast call). | 1295 // the additional space allocated for the fast call). |
1294 void CallApiFunctionAndReturn(ExternalReference function, | 1296 void CallApiFunctionAndReturn(ExternalReference function, |
1295 Address function_address, | 1297 Address function_address, |
1296 ExternalReference thunk_ref, | 1298 ExternalReference thunk_ref, |
1297 Register thunk_last_arg, | 1299 Register thunk_last_arg, |
1298 int stack_space, | 1300 int stack_space, |
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1697 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 1699 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
1698 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1700 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1699 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1701 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1700 #else | 1702 #else |
1701 #define ACCESS_MASM(masm) masm-> | 1703 #define ACCESS_MASM(masm) masm-> |
1702 #endif | 1704 #endif |
1703 | 1705 |
1704 } } // namespace v8::internal | 1706 } } // namespace v8::internal |
1705 | 1707 |
1706 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1708 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
OLD | NEW |