Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 117 const ParameterCount& actual, | 117 const ParameterCount& actual, |
| 118 RelocInfo::Mode rmode, | 118 RelocInfo::Mode rmode, |
| 119 InvokeFlag flag); | 119 InvokeFlag flag); |
| 120 | 120 |
| 121 // Invoke the JavaScript function in the given register. Changes the | 121 // Invoke the JavaScript function in the given register. Changes the |
| 122 // current context to the context in the function before invoking. | 122 // current context to the context in the function before invoking. |
| 123 void InvokeFunction(Register function, | 123 void InvokeFunction(Register function, |
| 124 const ParameterCount& actual, | 124 const ParameterCount& actual, |
| 125 InvokeFlag flag); | 125 InvokeFlag flag); |
| 126 | 126 |
| 127 void InvokeFunction(JSFunction* function, | |
|
Vitaly Repeshko
2010/02/12 20:32:40
I think this should either be named JumpFunction o
Mads Ager (chromium)
2010/02/15 08:04:01
Agreed. The usual naming is CallSomething and Tai
antonm
2010/02/15 08:54:26
Thanks a lot, Vitaly and Mads, flag added. Submit
| |
| 128 const ParameterCount& actual); | |
| 129 | |
| 127 // Invoke specified builtin JavaScript function. Adds an entry to | 130 // Invoke specified builtin JavaScript function. Adds an entry to |
| 128 // the unresolved list if the name does not resolve. | 131 // the unresolved list if the name does not resolve. |
| 129 void InvokeBuiltin(Builtins::JavaScript id, InvokeFlag flag); | 132 void InvokeBuiltin(Builtins::JavaScript id, InvokeFlag flag); |
| 130 | 133 |
| 131 // Store the code object for the given builtin in the target register. | 134 // Store the code object for the given builtin in the target register. |
| 132 void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 135 void GetBuiltinEntry(Register target, Builtins::JavaScript id); |
| 133 | 136 |
| 134 // Expression support | 137 // Expression support |
| 135 void Set(Register dst, const Immediate& x); | 138 void Set(Register dst, const Immediate& x); |
| 136 void Set(const Operand& dst, const Immediate& x); | 139 void Set(const Operand& dst, const Immediate& x); |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 346 void CallRuntime(Runtime::Function* f, int num_arguments); | 349 void CallRuntime(Runtime::Function* f, int num_arguments); |
| 347 | 350 |
| 348 // Call a runtime function, returning the CodeStub object called. | 351 // Call a runtime function, returning the CodeStub object called. |
| 349 // Try to generate the stub code if necessary. Do not perform a GC | 352 // Try to generate the stub code if necessary. Do not perform a GC |
| 350 // but instead return a retry after GC failure. | 353 // but instead return a retry after GC failure. |
| 351 Object* TryCallRuntime(Runtime::Function* f, int num_arguments); | 354 Object* TryCallRuntime(Runtime::Function* f, int num_arguments); |
| 352 | 355 |
| 353 // Convenience function: Same as above, but takes the fid instead. | 356 // Convenience function: Same as above, but takes the fid instead. |
| 354 void CallRuntime(Runtime::FunctionId id, int num_arguments); | 357 void CallRuntime(Runtime::FunctionId id, int num_arguments); |
| 355 | 358 |
| 359 // Convenience function: call an external reference. | |
| 360 void CallExternalReference(ExternalReference ref, int num_arguments); | |
| 361 | |
| 356 // Convenience function: Same as above, but takes the fid instead. | 362 // Convenience function: Same as above, but takes the fid instead. |
| 357 Object* TryCallRuntime(Runtime::FunctionId id, int num_arguments); | 363 Object* TryCallRuntime(Runtime::FunctionId id, int num_arguments); |
| 358 | 364 |
| 359 // Tail call of a runtime routine (jump). | 365 // Tail call of a runtime routine (jump). |
| 360 // Like JumpToRuntime, but also takes care of passing the number | 366 // Like JumpToRuntime, but also takes care of passing the number |
| 361 // of arguments. | 367 // of arguments. |
| 362 void TailCallRuntime(const ExternalReference& ext, | 368 void TailCallRuntime(const ExternalReference& ext, |
| 363 int num_arguments, | 369 int num_arguments, |
| 364 int result_size); | 370 int result_size); |
| 365 | 371 |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 533 } \ | 539 } \ |
| 534 masm-> | 540 masm-> |
| 535 #else | 541 #else |
| 536 #define ACCESS_MASM(masm) masm-> | 542 #define ACCESS_MASM(masm) masm-> |
| 537 #endif | 543 #endif |
| 538 | 544 |
| 539 | 545 |
| 540 } } // namespace v8::internal | 546 } } // namespace v8::internal |
| 541 | 547 |
| 542 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 548 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
| OLD | NEW |