Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Side by Side Diff: src/full-codegen.h

Issue 1227893005: TypeofMode replaces TypeofState and ContextualMode. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Addressed comments Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/disassembler.cc ('k') | src/full-codegen.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 527 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 FOR_EACH_FULL_CODE_INTRINSIC(GENERATOR_DECLARATION) 538 FOR_EACH_FULL_CODE_INTRINSIC(GENERATOR_DECLARATION)
539 #undef GENERATOR_DECLARATION 539 #undef GENERATOR_DECLARATION
540 540
541 // Platform-specific code for resuming generators. 541 // Platform-specific code for resuming generators.
542 void EmitGeneratorResume(Expression *generator, 542 void EmitGeneratorResume(Expression *generator,
543 Expression *value, 543 Expression *value,
544 JSGeneratorObject::ResumeMode resume_mode); 544 JSGeneratorObject::ResumeMode resume_mode);
545 545
546 // Platform-specific code for loading variables. 546 // Platform-specific code for loading variables.
547 void EmitLoadGlobalCheckExtensions(VariableProxy* proxy, 547 void EmitLoadGlobalCheckExtensions(VariableProxy* proxy,
548 TypeofState typeof_state, 548 TypeofMode typeof_mode, Label* slow);
549 Label* slow);
550 MemOperand ContextSlotOperandCheckExtensions(Variable* var, Label* slow); 549 MemOperand ContextSlotOperandCheckExtensions(Variable* var, Label* slow);
551 void EmitDynamicLookupFastCase(VariableProxy* proxy, 550 void EmitDynamicLookupFastCase(VariableProxy* proxy, TypeofMode typeof_mode,
552 TypeofState typeof_state, 551 Label* slow, Label* done);
553 Label* slow, 552 void EmitGlobalVariableLoad(VariableProxy* proxy, TypeofMode typeof_mode);
554 Label* done);
555 void EmitGlobalVariableLoad(VariableProxy* proxy, TypeofState typeof_state);
556 void EmitVariableLoad(VariableProxy* proxy, 553 void EmitVariableLoad(VariableProxy* proxy,
557 TypeofState typeof_state = NOT_INSIDE_TYPEOF); 554 TypeofMode typeof_mode = NOT_INSIDE_TYPEOF);
558 555
559 void EmitAccessor(Expression* expression); 556 void EmitAccessor(Expression* expression);
560 557
561 // Expects the arguments and the function already pushed. 558 // Expects the arguments and the function already pushed.
562 void EmitResolvePossiblyDirectEval(int arg_count); 559 void EmitResolvePossiblyDirectEval(int arg_count);
563 560
564 // Platform-specific support for allocating a new closure based on 561 // Platform-specific support for allocating a new closure based on
565 // the given function info. 562 // the given function info.
566 void EmitNewClosure(Handle<SharedFunctionInfo> info, bool pretenure); 563 void EmitNewClosure(Handle<SharedFunctionInfo> info, bool pretenure);
567 564
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 FeedbackVectorICSlot slot = FeedbackVectorICSlot::Invalid()); 644 FeedbackVectorICSlot slot = FeedbackVectorICSlot::Invalid());
648 645
649 void EmitLoadSuperConstructor(SuperCallReference* super_call_ref); 646 void EmitLoadSuperConstructor(SuperCallReference* super_call_ref);
650 void EmitInitializeThisAfterSuper( 647 void EmitInitializeThisAfterSuper(
651 SuperCallReference* super_call_ref, 648 SuperCallReference* super_call_ref,
652 FeedbackVectorICSlot slot = FeedbackVectorICSlot::Invalid()); 649 FeedbackVectorICSlot slot = FeedbackVectorICSlot::Invalid());
653 650
654 void CallIC(Handle<Code> code, 651 void CallIC(Handle<Code> code,
655 TypeFeedbackId id = TypeFeedbackId::None()); 652 TypeFeedbackId id = TypeFeedbackId::None());
656 653
657 void CallLoadIC(ContextualMode mode, LanguageMode language_mode = SLOPPY, 654 // Inside typeof reference errors are never thrown.
655 void CallLoadIC(TypeofMode typeof_mode, LanguageMode language_mode = SLOPPY,
658 TypeFeedbackId id = TypeFeedbackId::None()); 656 TypeFeedbackId id = TypeFeedbackId::None());
659 void CallStoreIC(TypeFeedbackId id = TypeFeedbackId::None()); 657 void CallStoreIC(TypeFeedbackId id = TypeFeedbackId::None());
660 658
661 void SetFunctionPosition(FunctionLiteral* fun); 659 void SetFunctionPosition(FunctionLiteral* fun);
662 void SetReturnPosition(FunctionLiteral* fun); 660 void SetReturnPosition(FunctionLiteral* fun);
663 661
664 enum InsertBreak { INSERT_BREAK, SKIP_BREAK }; 662 enum InsertBreak { INSERT_BREAK, SKIP_BREAK };
665 663
666 // During stepping we want to be able to break at each statement, but not at 664 // During stepping we want to be able to break at each statement, but not at
667 // every (sub-)expression. That is why by default we insert breaks at every 665 // every (sub-)expression. That is why by default we insert breaks at every
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
1086 1084
1087 Address start_; 1085 Address start_;
1088 Address instruction_start_; 1086 Address instruction_start_;
1089 uint32_t length_; 1087 uint32_t length_;
1090 }; 1088 };
1091 1089
1092 1090
1093 } } // namespace v8::internal 1091 } } // namespace v8::internal
1094 1092
1095 #endif // V8_FULL_CODEGEN_H_ 1093 #endif // V8_FULL_CODEGEN_H_
OLDNEW
« no previous file with comments | « src/disassembler.cc ('k') | src/full-codegen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698