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

Side by Side Diff: src/parser.cc

Issue 23757017: remove Isolate::Current from most files starting with 'o' through 'r' (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « src/parser.h ('k') | src/runtime.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 // 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 3726 matching lines...) Expand 10 before | Expand all | Expand 10 after
3737 } 3737 }
3738 3738
3739 3739
3740 bool CompileTimeValue::IsCompileTimeValue(Expression* expression) { 3740 bool CompileTimeValue::IsCompileTimeValue(Expression* expression) {
3741 if (expression->AsLiteral() != NULL) return true; 3741 if (expression->AsLiteral() != NULL) return true;
3742 MaterializedLiteral* lit = expression->AsMaterializedLiteral(); 3742 MaterializedLiteral* lit = expression->AsMaterializedLiteral();
3743 return lit != NULL && lit->is_simple(); 3743 return lit != NULL && lit->is_simple();
3744 } 3744 }
3745 3745
3746 3746
3747 Handle<FixedArray> CompileTimeValue::GetValue(Expression* expression) { 3747 Handle<FixedArray> CompileTimeValue::GetValue(Isolate* isolate,
3748 Factory* factory = Isolate::Current()->factory(); 3748 Expression* expression) {
3749 Factory* factory = isolate->factory();
3749 ASSERT(IsCompileTimeValue(expression)); 3750 ASSERT(IsCompileTimeValue(expression));
3750 Handle<FixedArray> result = factory->NewFixedArray(2, TENURED); 3751 Handle<FixedArray> result = factory->NewFixedArray(2, TENURED);
3751 ObjectLiteral* object_literal = expression->AsObjectLiteral(); 3752 ObjectLiteral* object_literal = expression->AsObjectLiteral();
3752 if (object_literal != NULL) { 3753 if (object_literal != NULL) {
3753 ASSERT(object_literal->is_simple()); 3754 ASSERT(object_literal->is_simple());
3754 if (object_literal->fast_elements()) { 3755 if (object_literal->fast_elements()) {
3755 result->set(kLiteralTypeSlot, Smi::FromInt(OBJECT_LITERAL_FAST_ELEMENTS)); 3756 result->set(kLiteralTypeSlot, Smi::FromInt(OBJECT_LITERAL_FAST_ELEMENTS));
3756 } else { 3757 } else {
3757 result->set(kLiteralTypeSlot, Smi::FromInt(OBJECT_LITERAL_SLOW_ELEMENTS)); 3758 result->set(kLiteralTypeSlot, Smi::FromInt(OBJECT_LITERAL_SLOW_ELEMENTS));
3758 } 3759 }
(...skipping 18 matching lines...) Expand all
3777 Handle<FixedArray> CompileTimeValue::GetElements(Handle<FixedArray> value) { 3778 Handle<FixedArray> CompileTimeValue::GetElements(Handle<FixedArray> value) {
3778 return Handle<FixedArray>(FixedArray::cast(value->get(kElementsSlot))); 3779 return Handle<FixedArray>(FixedArray::cast(value->get(kElementsSlot)));
3779 } 3780 }
3780 3781
3781 3782
3782 Handle<Object> Parser::GetBoilerplateValue(Expression* expression) { 3783 Handle<Object> Parser::GetBoilerplateValue(Expression* expression) {
3783 if (expression->AsLiteral() != NULL) { 3784 if (expression->AsLiteral() != NULL) {
3784 return expression->AsLiteral()->value(); 3785 return expression->AsLiteral()->value();
3785 } 3786 }
3786 if (CompileTimeValue::IsCompileTimeValue(expression)) { 3787 if (CompileTimeValue::IsCompileTimeValue(expression)) {
3787 return CompileTimeValue::GetValue(expression); 3788 return CompileTimeValue::GetValue(isolate(), expression);
3788 } 3789 }
3789 return isolate()->factory()->uninitialized_value(); 3790 return isolate()->factory()->uninitialized_value();
3790 } 3791 }
3791 3792
3792 3793
3793 // Validation per 11.1.5 Object Initialiser 3794 // Validation per 11.1.5 Object Initialiser
3794 class ObjectLiteralPropertyChecker { 3795 class ObjectLiteralPropertyChecker {
3795 public: 3796 public:
3796 ObjectLiteralPropertyChecker(Parser* parser, LanguageMode language_mode) : 3797 ObjectLiteralPropertyChecker(Parser* parser, LanguageMode language_mode) :
3797 props_(Literal::Match), 3798 props_(Literal::Match),
(...skipping 1218 matching lines...) Expand 10 before | Expand all | Expand 10 after
5016 5017
5017 5018
5018 // ---------------------------------------------------------------------------- 5019 // ----------------------------------------------------------------------------
5019 // Regular expressions 5020 // Regular expressions
5020 5021
5021 5022
5022 RegExpParser::RegExpParser(FlatStringReader* in, 5023 RegExpParser::RegExpParser(FlatStringReader* in,
5023 Handle<String>* error, 5024 Handle<String>* error,
5024 bool multiline, 5025 bool multiline,
5025 Zone* zone) 5026 Zone* zone)
5026 : isolate_(Isolate::Current()), 5027 : isolate_(zone->isolate()),
5027 zone_(zone), 5028 zone_(zone),
5028 error_(error), 5029 error_(error),
5029 captures_(NULL), 5030 captures_(NULL),
5030 in_(in), 5031 in_(in),
5031 current_(kEndMarker), 5032 current_(kEndMarker),
5032 next_pos_(0), 5033 next_pos_(0),
5033 capture_count_(0), 5034 capture_count_(0),
5034 has_more_(true), 5035 has_more_(true),
5035 multiline_(multiline), 5036 multiline_(multiline),
5036 simple_(false), 5037 simple_(false),
(...skipping 851 matching lines...) Expand 10 before | Expand all | Expand 10 after
5888 input = *data; 5889 input = *data;
5889 result = (result << 7) | (input & 0x7f); 5890 result = (result << 7) | (input & 0x7f);
5890 data++; 5891 data++;
5891 } 5892 }
5892 *source = data; 5893 *source = data;
5893 return result; 5894 return result;
5894 } 5895 }
5895 5896
5896 5897
5897 // Create a Scanner for the preparser to use as input, and preparse the source. 5898 // Create a Scanner for the preparser to use as input, and preparse the source.
5898 ScriptDataImpl* PreParserApi::PreParse(Utf16CharacterStream* source) { 5899 ScriptDataImpl* PreParserApi::PreParse(Isolate* isolate,
5900 Utf16CharacterStream* source) {
5899 CompleteParserRecorder recorder; 5901 CompleteParserRecorder recorder;
5900 Isolate* isolate = Isolate::Current();
5901 HistogramTimerScope timer(isolate->counters()->pre_parse()); 5902 HistogramTimerScope timer(isolate->counters()->pre_parse());
5902 Scanner scanner(isolate->unicode_cache()); 5903 Scanner scanner(isolate->unicode_cache());
5903 intptr_t stack_limit = isolate->stack_guard()->real_climit(); 5904 intptr_t stack_limit = isolate->stack_guard()->real_climit();
5904 preparser::PreParser preparser(&scanner, &recorder, stack_limit); 5905 preparser::PreParser preparser(&scanner, &recorder, stack_limit);
5905 preparser.set_allow_lazy(true); 5906 preparser.set_allow_lazy(true);
5906 preparser.set_allow_generators(FLAG_harmony_generators); 5907 preparser.set_allow_generators(FLAG_harmony_generators);
5907 preparser.set_allow_for_of(FLAG_harmony_iteration); 5908 preparser.set_allow_for_of(FLAG_harmony_iteration);
5908 preparser.set_allow_harmony_scoping(FLAG_harmony_scoping); 5909 preparser.set_allow_harmony_scoping(FLAG_harmony_scoping);
5909 preparser.set_allow_harmony_numeric_literals(FLAG_harmony_numeric_literals); 5910 preparser.set_allow_harmony_numeric_literals(FLAG_harmony_numeric_literals);
5910 scanner.Initialize(source); 5911 scanner.Initialize(source);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
5970 ASSERT(info()->isolate()->has_pending_exception()); 5971 ASSERT(info()->isolate()->has_pending_exception());
5971 } else { 5972 } else {
5972 result = ParseProgram(); 5973 result = ParseProgram();
5973 } 5974 }
5974 } 5975 }
5975 info()->SetFunction(result); 5976 info()->SetFunction(result);
5976 return (result != NULL); 5977 return (result != NULL);
5977 } 5978 }
5978 5979
5979 } } // namespace v8::internal 5980 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/parser.h ('k') | src/runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698