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

Unified Diff: vm/code_generator.cc

Issue 10783035: Create frequently used symbols in the vm isolate (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
Index: vm/code_generator.cc
===================================================================
--- vm/code_generator.cc (revision 9729)
+++ vm/code_generator.cc (working copy)
@@ -18,6 +18,7 @@
#include "vm/resolver.h"
#include "vm/runtime_entry.h"
#include "vm/stack_frame.h"
+#include "vm/symbols.h"
#include "vm/verifier.h"
namespace dart {
@@ -214,7 +215,7 @@
const intptr_t location = GetCallerLocation();
String& malformed_error_message = String::Handle(
String::New(malformed_error.ToErrorCString()));
- const String& no_name = String::Handle(String::NewSymbol(""));
+ const String& no_name = String::Handle(Symbols::New(""));
Exceptions::CreateAndThrowTypeError(
location, no_name, no_name, no_name, malformed_error_message);
UNREACHABLE();
@@ -577,7 +578,7 @@
const intptr_t location = GetCallerLocation();
String& malformed_error_message = String::Handle(
String::New(malformed_error.ToErrorCString()));
- const String& no_name = String::Handle(String::NewSymbol(""));
+ const String& no_name = String::Handle(Symbols::New(""));
Exceptions::CreateAndThrowTypeError(
location, no_name, no_name, no_name, malformed_error_message);
UNREACHABLE();
@@ -592,9 +593,9 @@
// Bigint) are reported as 'int' and all String types are mapped to 'String'.
static RawString* GetSimpleTypeName(const Instance& value) {
if (value.IsInteger()) {
- return String::NewSymbol("int");
+ return Symbols::New("int");
} else if (value.IsString()) {
- return String::NewSymbol("String");
+ return Symbols::New("String");
} else {
return Type::Handle(value.GetType()).Name();
}
@@ -676,7 +677,7 @@
const Type& bool_interface = Type::Handle(Type::BoolInterface());
const String& src_type_name = String::Handle(GetSimpleTypeName(src_instance));
const String& bool_type_name = String::Handle(bool_interface.Name());
- const String& expr = String::Handle(String::NewSymbol("boolean expression"));
+ const String& expr = String::Handle(Symbols::New("boolean expression"));
const String& no_malformed_type_error = String::Handle();
Exceptions::CreateAndThrowTypeError(location, src_type_name, bool_type_name,
expr, no_malformed_type_error);
@@ -696,7 +697,7 @@
const Instance& src_value = Instance::CheckedHandle(arguments.At(0));
const String& dst_name = String::CheckedHandle(arguments.At(1));
const String& malformed_error = String::CheckedHandle(arguments.At(2));
- const String& dst_type_name = String::Handle(String::NewSymbol("malformed"));
+ const String& dst_type_name = String::Handle(Symbols::New("malformed"));
const String& src_type_name = String::Handle(GetSimpleTypeName(src_value));
Exceptions::CreateAndThrowTypeError(location, src_type_name,
dst_type_name, dst_name, malformed_error);
@@ -1024,7 +1025,7 @@
ASSERT(!receiver_class.IsNull());
String& func_name = String::Handle();
func_name = String::SubString(original_function_name, getter_prefix.Length());
- func_name = String::NewSymbol(func_name);
+ func_name = Symbols::New(func_name);
const Function& function = Function::Handle(
LookupDynamicFunction(isolate, receiver_class, func_name));
if (function.IsNull()) {
@@ -1199,7 +1200,7 @@
const int kNumNamedArguments = 0;
const Array& kNoArgumentNames = Array::Handle();
const String& function_name =
- String::Handle(String::NewSymbol("noSuchMethod"));
+ String::Handle(Symbols::New("noSuchMethod"));
const Function& function = Function::ZoneHandle(
Resolver::ResolveDynamic(receiver,
function_name,
« no previous file with comments | « vm/code_descriptors_test.cc ('k') | vm/code_generator_test.cc » ('j') | vm/dart_api_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698