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

Unified Diff: runtime/vm/parser.cc

Issue 2665003002: Fix background compiler issue with new-space allocation in the parser. (Closed)
Patch Set: Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/parser.cc
diff --git a/runtime/vm/parser.cc b/runtime/vm/parser.cc
index 51f3f882b39b7e2c52d650b63f5d6b3841b909f4..718130f5e9a1252870231a982b1c065d7c8bec98 100644
--- a/runtime/vm/parser.cc
+++ b/runtime/vm/parser.cc
@@ -2357,7 +2357,8 @@ RawFunction* Parser::GetSuperFunction(TokenPosition token_pos,
NULL)) {
super_func = Function::null();
} else if (super_func.IsNull() && resolve_getter) {
- const String& getter_name = String::ZoneHandle(Z, Field::GetterName(name));
+ const String& getter_name =
+ String::ZoneHandle(Z, Field::GetterSymbol(name));
super_func = Resolver::ResolveDynamicAnyArgs(Z, super_class, getter_name);
ASSERT(super_func.IsNull() ||
(super_func.kind() != RawFunction::kImplicitStaticFinalGetter));
@@ -5636,7 +5637,7 @@ void Parser::ParseTopLevelVariable(TopLevel* top_level,
// or final field implies a setter which throws a NoSuchMethodError,
// thus we need to check for conflicts with existing setters and
// getters.
- String& accessor_name = String::Handle(Z, Field::GetterName(var_name));
+ String& accessor_name = String::Handle(Z, Field::GetterSymbol(var_name));
if (library_.LookupLocalObject(accessor_name) != Object::null()) {
ReportError(name_pos, "getter for '%s' is already defined",
var_name.ToCString());
@@ -5757,7 +5758,7 @@ void Parser::ParseTopLevelFunction(TopLevel* top_level,
ReportError(name_pos, "missing '%s' cannot be patched",
func_name.ToCString());
}
- String& accessor_name = String::Handle(Z, Field::GetterName(func_name));
+ String& accessor_name = String::Handle(Z, Field::GetterSymbol(func_name));
if (library_.LookupLocalObject(accessor_name) != Object::null()) {
ReportError(name_pos, "'%s' is already defined as getter",
func_name.ToCString());
@@ -11473,7 +11474,7 @@ AstNode* Parser::ParseStaticCall(const Class& cls,
if (field.IsNull()) {
// No field, check if we have an explicit getter function.
const String& getter_name =
- String::ZoneHandle(Z, Field::GetterName(func_name));
+ String::ZoneHandle(Z, Field::GetterSymbol(func_name));
hausner 2017/01/30 23:01:03 I don't think we want to create a symbol for the g
Florian Schneider 2017/01/30 23:30:23 Ok, instead I could for example create the tempora
const int kNumArguments = 0; // no arguments.
func = Resolver::ResolveStatic(cls, getter_name, kNumArguments,
Object::empty_array());
@@ -12084,7 +12085,7 @@ AstNode* Parser::ParseClosurization(AstNode* primary) {
func = cls.LookupStaticFunction(extractor_name);
if (func.IsNull()) {
const String& getter_name =
- String::Handle(Z, Field::GetterName(extractor_name));
+ String::Handle(Z, Field::GetterSymbol(extractor_name));
func = cls.LookupStaticFunction(getter_name);
}
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698