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 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 // Setup call kind marking in rcx. The method takes rcx as an | 244 // Setup call kind marking in rcx. The method takes rcx as an |
245 // explicit first parameter to make the code more readable at the | 245 // explicit first parameter to make the code more readable at the |
246 // call sites. | 246 // call sites. |
247 void SetCallKind(Register dst, CallKind kind); | 247 void SetCallKind(Register dst, CallKind kind); |
248 | 248 |
249 // Invoke the JavaScript function code by either calling or jumping. | 249 // Invoke the JavaScript function code by either calling or jumping. |
250 void InvokeCode(Register code, | 250 void InvokeCode(Register code, |
251 const ParameterCount& expected, | 251 const ParameterCount& expected, |
252 const ParameterCount& actual, | 252 const ParameterCount& actual, |
253 InvokeFlag flag, | 253 InvokeFlag flag, |
254 const CallWrapper& call_wrapper = NullCallWrapper(), | 254 const CallWrapper& call_wrapper, |
255 CallKind call_kind = CALL_AS_METHOD); | 255 CallKind call_kind); |
256 | 256 |
257 void InvokeCode(Handle<Code> code, | 257 void InvokeCode(Handle<Code> code, |
258 const ParameterCount& expected, | 258 const ParameterCount& expected, |
259 const ParameterCount& actual, | 259 const ParameterCount& actual, |
260 RelocInfo::Mode rmode, | 260 RelocInfo::Mode rmode, |
261 InvokeFlag flag, | 261 InvokeFlag flag, |
262 const CallWrapper& call_wrapper = NullCallWrapper(), | 262 const CallWrapper& call_wrapper, |
263 CallKind call_kind = CALL_AS_METHOD); | 263 CallKind call_kind); |
264 | 264 |
265 // Invoke the JavaScript function in the given register. Changes the | 265 // Invoke the JavaScript function in the given register. Changes the |
266 // current context to the context in the function before invoking. | 266 // current context to the context in the function before invoking. |
267 void InvokeFunction(Register function, | 267 void InvokeFunction(Register function, |
268 const ParameterCount& actual, | 268 const ParameterCount& actual, |
269 InvokeFlag flag, | 269 InvokeFlag flag, |
270 const CallWrapper& call_wrapper = NullCallWrapper(), | 270 const CallWrapper& call_wrapper, |
271 CallKind call_kind = CALL_AS_METHOD); | 271 CallKind call_kind); |
272 | 272 |
273 void InvokeFunction(JSFunction* function, | 273 void InvokeFunction(JSFunction* function, |
274 const ParameterCount& actual, | 274 const ParameterCount& actual, |
275 InvokeFlag flag, | 275 InvokeFlag flag, |
276 const CallWrapper& call_wrapper = NullCallWrapper()); | 276 const CallWrapper& call_wrapper, |
| 277 CallKind call_kind); |
277 | 278 |
278 // Invoke specified builtin JavaScript function. Adds an entry to | 279 // Invoke specified builtin JavaScript function. Adds an entry to |
279 // the unresolved list if the name does not resolve. | 280 // the unresolved list if the name does not resolve. |
280 void InvokeBuiltin(Builtins::JavaScript id, | 281 void InvokeBuiltin(Builtins::JavaScript id, |
281 InvokeFlag flag, | 282 InvokeFlag flag, |
282 const CallWrapper& call_wrapper = NullCallWrapper()); | 283 const CallWrapper& call_wrapper = NullCallWrapper()); |
283 | 284 |
284 // Store the function for the given builtin in the target register. | 285 // Store the function for the given builtin in the target register. |
285 void GetBuiltinFunction(Register target, Builtins::JavaScript id); | 286 void GetBuiltinFunction(Register target, Builtins::JavaScript id); |
286 | 287 |
(...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1281 masm->popfd(); \ | 1282 masm->popfd(); \ |
1282 } \ | 1283 } \ |
1283 masm-> | 1284 masm-> |
1284 #else | 1285 #else |
1285 #define ACCESS_MASM(masm) masm-> | 1286 #define ACCESS_MASM(masm) masm-> |
1286 #endif | 1287 #endif |
1287 | 1288 |
1288 } } // namespace v8::internal | 1289 } } // namespace v8::internal |
1289 | 1290 |
1290 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1291 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |