OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_FULL_CODEGEN_H_ | 5 #ifndef V8_FULL_CODEGEN_H_ |
6 #define V8_FULL_CODEGEN_H_ | 6 #define V8_FULL_CODEGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 | 489 |
490 // Platform-specific code sequences for calls | 490 // Platform-specific code sequences for calls |
491 void EmitCall(Call* expr, CallICState::CallType = CallICState::FUNCTION); | 491 void EmitCall(Call* expr, CallICState::CallType = CallICState::FUNCTION); |
492 void EmitSuperConstructorCall(Call* expr); | 492 void EmitSuperConstructorCall(Call* expr); |
493 void EmitCallWithLoadIC(Call* expr); | 493 void EmitCallWithLoadIC(Call* expr); |
494 void EmitSuperCallWithLoadIC(Call* expr); | 494 void EmitSuperCallWithLoadIC(Call* expr); |
495 void EmitKeyedCallWithLoadIC(Call* expr, Expression* key); | 495 void EmitKeyedCallWithLoadIC(Call* expr, Expression* key); |
496 void EmitKeyedSuperCallWithLoadIC(Call* expr); | 496 void EmitKeyedSuperCallWithLoadIC(Call* expr); |
497 | 497 |
498 // Platform-specific code for inline runtime calls. | 498 // Platform-specific code for inline runtime calls. |
499 InlineFunctionGenerator FindInlineFunctionGenerator(Runtime::FunctionId id); | 499 InlineFunctionGenerator FindInlineFunctionGenerator(CallRuntime* expr); |
500 | 500 |
501 void EmitInlineRuntimeCall(CallRuntime* expr); | 501 void EmitInlineRuntimeCall(CallRuntime* expr, |
| 502 InlineFunctionGenerator generator); |
502 | 503 |
503 #define EMIT_INLINE_RUNTIME_CALL(name, x, y) \ | 504 #define EMIT_INLINE_RUNTIME_CALL(name, x, y) \ |
504 void Emit##name(CallRuntime* expr); | 505 void Emit##name(CallRuntime* expr); |
505 INLINE_FUNCTION_LIST(EMIT_INLINE_RUNTIME_CALL) | 506 INLINE_FUNCTION_LIST(EMIT_INLINE_RUNTIME_CALL) |
506 #undef EMIT_INLINE_RUNTIME_CALL | 507 #undef EMIT_INLINE_RUNTIME_CALL |
507 | 508 |
508 // Platform-specific code for resuming generators. | 509 // Platform-specific code for resuming generators. |
509 void EmitGeneratorResume(Expression *generator, | 510 void EmitGeneratorResume(Expression *generator, |
510 Expression *value, | 511 Expression *value, |
511 JSGeneratorObject::ResumeMode resume_mode); | 512 JSGeneratorObject::ResumeMode resume_mode); |
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1028 | 1029 |
1029 Address start_; | 1030 Address start_; |
1030 Address instruction_start_; | 1031 Address instruction_start_; |
1031 uint32_t length_; | 1032 uint32_t length_; |
1032 }; | 1033 }; |
1033 | 1034 |
1034 | 1035 |
1035 } } // namespace v8::internal | 1036 } } // namespace v8::internal |
1036 | 1037 |
1037 #endif // V8_FULL_CODEGEN_H_ | 1038 #endif // V8_FULL_CODEGEN_H_ |
OLD | NEW |