OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
783 IterationStatement* LookupContinueTarget(Handle<String> label, bool* ok); | 783 IterationStatement* LookupContinueTarget(Handle<String> label, bool* ok); |
784 | 784 |
785 void RegisterTargetUse(Label* target, Target* stop); | 785 void RegisterTargetUse(Label* target, Target* stop); |
786 | 786 |
787 // Factory methods. | 787 // Factory methods. |
788 | 788 |
789 Scope* NewScope(Scope* parent, ScopeType type); | 789 Scope* NewScope(Scope* parent, ScopeType type); |
790 | 790 |
791 Handle<String> LookupCachedSymbol(int symbol_id); | 791 Handle<String> LookupCachedSymbol(int symbol_id); |
792 | 792 |
793 PreParser::PreParseResult LazyParseFunctionLiteral( | 793 // Skip over a lazy function, either using cached data if we have it, or |
794 SingletonLogger* logger); | 794 // by parsing the function with PreParser. Consumes the ending }. |
| 795 void SkipLazyFunctionBody(Handle<String> function_name, |
| 796 int* materialized_literal_count, |
| 797 int* expected_property_count, |
| 798 bool* ok); |
| 799 |
| 800 PreParser::PreParseResult ParseLazyFunctionBodyWithPreParser( |
| 801 SingletonLogger* logger); |
| 802 |
| 803 // Consumes the ending }. |
| 804 ZoneList<Statement*>* ParseEagerFunctionBody(Handle<String> function_name, |
| 805 int pos, |
| 806 Variable* fvar, |
| 807 Token::Value fvar_init_op, |
| 808 bool is_generator, |
| 809 bool* ok); |
795 | 810 |
796 Isolate* isolate_; | 811 Isolate* isolate_; |
797 ZoneList<Handle<String> > symbol_cache_; | 812 ZoneList<Handle<String> > symbol_cache_; |
798 | 813 |
799 Handle<Script> script_; | 814 Handle<Script> script_; |
800 Scanner scanner_; | 815 Scanner scanner_; |
801 PreParser* reusable_preparser_; | 816 PreParser* reusable_preparser_; |
802 Scope* original_scope_; // for ES5 function declarations in sloppy eval | 817 Scope* original_scope_; // for ES5 function declarations in sloppy eval |
803 Target* target_stack_; // for break, continue statements | 818 Target* target_stack_; // for break, continue statements |
804 ScriptData** cached_data_; | 819 ScriptData** cached_data_; |
(...skipping 27 matching lines...) Expand all Loading... |
832 private: | 847 private: |
833 static const int kLiteralTypeSlot = 0; | 848 static const int kLiteralTypeSlot = 0; |
834 static const int kElementsSlot = 1; | 849 static const int kElementsSlot = 1; |
835 | 850 |
836 DISALLOW_IMPLICIT_CONSTRUCTORS(CompileTimeValue); | 851 DISALLOW_IMPLICIT_CONSTRUCTORS(CompileTimeValue); |
837 }; | 852 }; |
838 | 853 |
839 } } // namespace v8::internal | 854 } } // namespace v8::internal |
840 | 855 |
841 #endif // V8_PARSER_H_ | 856 #endif // V8_PARSER_H_ |
OLD | NEW |