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_FULL_CODEGEN_H_ | 5 #ifndef V8_FULL_CODEGEN_FULL_CODEGEN_H_ |
6 #define V8_FULL_CODEGEN_FULL_CODEGEN_H_ | 6 #define V8_FULL_CODEGEN_FULL_CODEGEN_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assert-scope.h" | 9 #include "src/assert-scope.h" |
10 #include "src/ast/ast.h" | 10 #include "src/ast/ast.h" |
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 F(ValueOf) \ | 507 F(ValueOf) \ |
508 F(StringCharFromCode) \ | 508 F(StringCharFromCode) \ |
509 F(StringCharAt) \ | 509 F(StringCharAt) \ |
510 F(OneByteSeqStringSetChar) \ | 510 F(OneByteSeqStringSetChar) \ |
511 F(TwoByteSeqStringSetChar) \ | 511 F(TwoByteSeqStringSetChar) \ |
512 F(IsJSReceiver) \ | 512 F(IsJSReceiver) \ |
513 F(MathPow) \ | 513 F(MathPow) \ |
514 F(HasCachedArrayIndex) \ | 514 F(HasCachedArrayIndex) \ |
515 F(GetCachedArrayIndex) \ | 515 F(GetCachedArrayIndex) \ |
516 F(GetSuperConstructor) \ | 516 F(GetSuperConstructor) \ |
517 F(GeneratorNext) \ | |
518 F(GeneratorReturn) \ | |
519 F(GeneratorThrow) \ | |
520 F(DebugBreakInOptimizedCode) \ | 517 F(DebugBreakInOptimizedCode) \ |
521 F(ClassOf) \ | 518 F(ClassOf) \ |
522 F(StringCharCodeAt) \ | 519 F(StringCharCodeAt) \ |
523 F(SubString) \ | 520 F(SubString) \ |
524 F(RegExpExec) \ | 521 F(RegExpExec) \ |
525 F(RegExpConstructResult) \ | 522 F(RegExpConstructResult) \ |
526 F(ToInteger) \ | 523 F(ToInteger) \ |
527 F(NumberToString) \ | 524 F(NumberToString) \ |
528 F(ToString) \ | 525 F(ToString) \ |
529 F(ToLength) \ | 526 F(ToLength) \ |
530 F(ToNumber) \ | 527 F(ToNumber) \ |
531 F(ToName) \ | 528 F(ToName) \ |
532 F(ToObject) \ | 529 F(ToObject) \ |
533 F(DebugIsActive) \ | 530 F(DebugIsActive) \ |
534 F(GetOrdinaryHasInstance) \ | 531 F(GetOrdinaryHasInstance) \ |
535 F(CreateIterResultObject) | 532 F(CreateIterResultObject) |
536 | 533 |
537 #define GENERATOR_DECLARATION(Name) void Emit##Name(CallRuntime* call); | 534 #define GENERATOR_DECLARATION(Name) void Emit##Name(CallRuntime* call); |
538 FOR_EACH_FULL_CODE_INTRINSIC(GENERATOR_DECLARATION) | 535 FOR_EACH_FULL_CODE_INTRINSIC(GENERATOR_DECLARATION) |
539 #undef GENERATOR_DECLARATION | 536 #undef GENERATOR_DECLARATION |
540 | 537 |
541 void EmitIntrinsicAsStubCall(CallRuntime* expr, const Callable& callable); | 538 void EmitIntrinsicAsStubCall(CallRuntime* expr, const Callable& callable); |
542 | 539 |
543 // Platform-specific code for resuming generators. | |
544 void EmitGeneratorResume(Expression *generator, | |
545 Expression *value, | |
546 JSGeneratorObject::ResumeMode resume_mode); | |
547 | |
548 // Platform-specific code for loading variables. | 540 // Platform-specific code for loading variables. |
549 void EmitLoadGlobalCheckExtensions(VariableProxy* proxy, | 541 void EmitLoadGlobalCheckExtensions(VariableProxy* proxy, |
550 TypeofMode typeof_mode, Label* slow); | 542 TypeofMode typeof_mode, Label* slow); |
551 MemOperand ContextSlotOperandCheckExtensions(Variable* var, Label* slow); | 543 MemOperand ContextSlotOperandCheckExtensions(Variable* var, Label* slow); |
552 void EmitDynamicLookupFastCase(VariableProxy* proxy, TypeofMode typeof_mode, | 544 void EmitDynamicLookupFastCase(VariableProxy* proxy, TypeofMode typeof_mode, |
553 Label* slow, Label* done); | 545 Label* slow, Label* done); |
554 void EmitGlobalVariableLoad(VariableProxy* proxy, TypeofMode typeof_mode); | 546 void EmitGlobalVariableLoad(VariableProxy* proxy, TypeofMode typeof_mode); |
555 void EmitVariableLoad(VariableProxy* proxy, | 547 void EmitVariableLoad(VariableProxy* proxy, |
556 TypeofMode typeof_mode = NOT_INSIDE_TYPEOF); | 548 TypeofMode typeof_mode = NOT_INSIDE_TYPEOF); |
557 | 549 |
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1058 Address start_; | 1050 Address start_; |
1059 Address instruction_start_; | 1051 Address instruction_start_; |
1060 uint32_t length_; | 1052 uint32_t length_; |
1061 }; | 1053 }; |
1062 | 1054 |
1063 | 1055 |
1064 } // namespace internal | 1056 } // namespace internal |
1065 } // namespace v8 | 1057 } // namespace v8 |
1066 | 1058 |
1067 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ | 1059 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ |
OLD | NEW |