| Index: src/bootstrapper.cc
|
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
|
| index 762c4f9962716b477224c59e76418d7e3db7132f..cf5ad11f74056ff5b70c846801919054cc2a7724 100644
|
| --- a/src/bootstrapper.cc
|
| +++ b/src/bootstrapper.cc
|
| @@ -353,11 +353,11 @@ static Handle<JSFunction> InstallFunction(Handle<JSObject> target,
|
| bool is_ecma_native) {
|
| Isolate* isolate = target->GetIsolate();
|
| Factory* factory = isolate->factory();
|
| - Handle<String> symbol = factory->LookupUtf8Symbol(name);
|
| + Handle<String> internalized_name = factory->InternalizeUtf8String(name);
|
| Handle<Code> call_code = Handle<Code>(isolate->builtins()->builtin(call));
|
| Handle<JSFunction> function = prototype.is_null() ?
|
| - factory->NewFunctionWithoutPrototype(symbol, call_code) :
|
| - factory->NewFunctionWithPrototype(symbol,
|
| + factory->NewFunctionWithoutPrototype(internalized_name, call_code) :
|
| + factory->NewFunctionWithPrototype(internalized_name,
|
| type,
|
| instance_size,
|
| prototype,
|
| @@ -372,9 +372,9 @@ static Handle<JSFunction> InstallFunction(Handle<JSObject> target,
|
| }
|
| CHECK_NOT_EMPTY_HANDLE(isolate,
|
| JSObject::SetLocalPropertyIgnoreAttributes(
|
| - target, symbol, function, attributes));
|
| + target, internalized_name, function, attributes));
|
| if (is_ecma_native) {
|
| - function->shared()->set_instance_class_name(*symbol);
|
| + function->shared()->set_instance_class_name(*internalized_name);
|
| }
|
| function->shared()->set_native(true);
|
| return function;
|
| @@ -400,19 +400,19 @@ void Genesis::SetFunctionInstanceDescriptor(
|
| map->set_instance_descriptors(*descriptors);
|
|
|
| { // Add length.
|
| - CallbacksDescriptor d(*factory()->length_symbol(), *length, attribs);
|
| + CallbacksDescriptor d(*factory()->length_string(), *length, attribs);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| { // Add name.
|
| - CallbacksDescriptor d(*factory()->name_symbol(), *name, attribs);
|
| + CallbacksDescriptor d(*factory()->name_string(), *name, attribs);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| { // Add arguments.
|
| - CallbacksDescriptor d(*factory()->arguments_symbol(), *args, attribs);
|
| + CallbacksDescriptor d(*factory()->arguments_string(), *args, attribs);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| { // Add caller.
|
| - CallbacksDescriptor d(*factory()->caller_symbol(), *caller, attribs);
|
| + CallbacksDescriptor d(*factory()->caller_string(), *caller, attribs);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| if (prototypeMode != DONT_ADD_PROTOTYPE) {
|
| @@ -420,7 +420,7 @@ void Genesis::SetFunctionInstanceDescriptor(
|
| if (prototypeMode == ADD_WRITEABLE_PROTOTYPE) {
|
| attribs = static_cast<PropertyAttributes>(attribs & ~READ_ONLY);
|
| }
|
| - CallbacksDescriptor d(*factory()->prototype_symbol(), *prototype, attribs);
|
| + CallbacksDescriptor d(*factory()->prototype_string(), *prototype, attribs);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| }
|
| @@ -465,7 +465,7 @@ Handle<JSFunction> Genesis::CreateEmptyFunction(Isolate* isolate) {
|
| Factory* factory = isolate->factory();
|
| Heap* heap = isolate->heap();
|
|
|
| - Handle<String> object_name = Handle<String>(heap->Object_symbol());
|
| + Handle<String> object_name = Handle<String>(heap->Object_string());
|
|
|
| { // --- O b j e c t ---
|
| Handle<JSFunction> object_fun =
|
| @@ -488,10 +488,10 @@ Handle<JSFunction> Genesis::CreateEmptyFunction(Isolate* isolate) {
|
|
|
| // Allocate the empty function as the prototype for function ECMAScript
|
| // 262 15.3.4.
|
| - Handle<String> symbol =
|
| - factory->LookupOneByteSymbol(STATIC_ASCII_VECTOR("Empty"));
|
| + Handle<String> empty_string =
|
| + factory->InternalizeOneByteString(STATIC_ASCII_VECTOR("Empty"));
|
| Handle<JSFunction> empty_function =
|
| - factory->NewFunctionWithoutPrototype(symbol, CLASSIC_MODE);
|
| + factory->NewFunctionWithoutPrototype(empty_string, CLASSIC_MODE);
|
|
|
| // --- E m p t y ---
|
| Handle<Code> code =
|
| @@ -543,19 +543,19 @@ void Genesis::SetStrictFunctionInstanceDescriptor(
|
| map->set_instance_descriptors(*descriptors);
|
|
|
| { // Add length.
|
| - CallbacksDescriptor d(*factory()->length_symbol(), *length, attribs);
|
| + CallbacksDescriptor d(*factory()->length_string(), *length, attribs);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| { // Add name.
|
| - CallbacksDescriptor d(*factory()->name_symbol(), *name, attribs);
|
| + CallbacksDescriptor d(*factory()->name_string(), *name, attribs);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| { // Add arguments.
|
| - CallbacksDescriptor d(*factory()->arguments_symbol(), *arguments, attribs);
|
| + CallbacksDescriptor d(*factory()->arguments_string(), *arguments, attribs);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| { // Add caller.
|
| - CallbacksDescriptor d(*factory()->caller_symbol(), *caller, attribs);
|
| + CallbacksDescriptor d(*factory()->caller_string(), *caller, attribs);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| if (prototypeMode != DONT_ADD_PROTOTYPE) {
|
| @@ -563,7 +563,7 @@ void Genesis::SetStrictFunctionInstanceDescriptor(
|
| if (prototypeMode != ADD_WRITEABLE_PROTOTYPE) {
|
| attribs = static_cast<PropertyAttributes>(attribs | READ_ONLY);
|
| }
|
| - CallbacksDescriptor d(*factory()->prototype_symbol(), *prototype, attribs);
|
| + CallbacksDescriptor d(*factory()->prototype_string(), *prototype, attribs);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| }
|
| @@ -572,7 +572,7 @@ void Genesis::SetStrictFunctionInstanceDescriptor(
|
| // ECMAScript 5th Edition, 13.2.3
|
| Handle<JSFunction> Genesis::GetThrowTypeErrorFunction() {
|
| if (throw_type_error_function.is_null()) {
|
| - Handle<String> name = factory()->LookupOneByteSymbol(
|
| + Handle<String> name = factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("ThrowTypeError"));
|
| throw_type_error_function =
|
| factory()->NewFunctionWithoutPrototype(name, CLASSIC_MODE);
|
| @@ -648,8 +648,8 @@ static void SetAccessors(Handle<Map> map,
|
|
|
|
|
| void Genesis::PoisonArgumentsAndCaller(Handle<Map> map) {
|
| - SetAccessors(map, factory()->arguments_symbol(), GetThrowTypeErrorFunction());
|
| - SetAccessors(map, factory()->caller_symbol(), GetThrowTypeErrorFunction());
|
| + SetAccessors(map, factory()->arguments_string(), GetThrowTypeErrorFunction());
|
| + SetAccessors(map, factory()->caller_string(), GetThrowTypeErrorFunction());
|
| }
|
|
|
|
|
| @@ -724,7 +724,7 @@ Handle<JSGlobalProxy> Genesis::CreateNewGlobals(
|
| }
|
|
|
| if (js_global_template.is_null()) {
|
| - Handle<String> name = Handle<String>(heap()->empty_symbol());
|
| + Handle<String> name = Handle<String>(heap()->empty_string());
|
| Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin(
|
| Builtins::kIllegal));
|
| js_global_function =
|
| @@ -737,7 +737,7 @@ Handle<JSGlobalProxy> Genesis::CreateNewGlobals(
|
| JSObject::cast(js_global_function->instance_prototype()));
|
| CHECK_NOT_EMPTY_HANDLE(isolate(),
|
| JSObject::SetLocalPropertyIgnoreAttributes(
|
| - prototype, factory()->constructor_symbol(),
|
| + prototype, factory()->constructor_string(),
|
| isolate()->object_function(), NONE));
|
| } else {
|
| Handle<FunctionTemplateInfo> js_global_constructor(
|
| @@ -758,7 +758,7 @@ Handle<JSGlobalProxy> Genesis::CreateNewGlobals(
|
| // Step 2: create or re-initialize the global proxy object.
|
| Handle<JSFunction> global_proxy_function;
|
| if (global_template.IsEmpty()) {
|
| - Handle<String> name = Handle<String>(heap()->empty_symbol());
|
| + Handle<String> name = Handle<String>(heap()->empty_string());
|
| Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin(
|
| Builtins::kIllegal));
|
| global_proxy_function =
|
| @@ -774,7 +774,7 @@ Handle<JSGlobalProxy> Genesis::CreateNewGlobals(
|
| factory()->OuterGlobalObject);
|
| }
|
|
|
| - Handle<String> global_name = factory()->LookupOneByteSymbol(
|
| + Handle<String> global_name = factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("global"));
|
| global_proxy_function->shared()->set_instance_class_name(*global_name);
|
| global_proxy_function->initial_map()->set_is_access_check_needed(true);
|
| @@ -815,7 +815,7 @@ void Genesis::HookUpInnerGlobal(Handle<GlobalObject> inner_global) {
|
| static const PropertyAttributes attributes =
|
| static_cast<PropertyAttributes>(READ_ONLY | DONT_DELETE);
|
| ForceSetProperty(builtins_global,
|
| - factory()->LookupOneByteSymbol(
|
| + factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("global")),
|
| inner_global,
|
| attributes);
|
| @@ -847,7 +847,7 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| Factory* factory = isolate->factory();
|
| Heap* heap = isolate->heap();
|
|
|
| - Handle<String> object_name = Handle<String>(heap->Object_symbol());
|
| + Handle<String> object_name = Handle<String>(heap->Object_string());
|
| CHECK_NOT_EMPTY_HANDLE(isolate,
|
| JSObject::SetLocalPropertyIgnoreAttributes(
|
| inner_global, object_name,
|
| @@ -883,7 +883,7 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| initial_map->set_instance_descriptors(*array_descriptors);
|
|
|
| { // Add length.
|
| - CallbacksDescriptor d(*factory->length_symbol(), *array_length, attribs);
|
| + CallbacksDescriptor d(*factory->length_string(), *array_length, attribs);
|
| array_function->initial_map()->AppendDescriptor(&d, witness);
|
| }
|
|
|
| @@ -932,7 +932,7 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| string_map->set_instance_descriptors(*string_descriptors);
|
|
|
| { // Add length.
|
| - CallbacksDescriptor d(*factory->length_symbol(), *string_length, attribs);
|
| + CallbacksDescriptor d(*factory->length_string(), *string_length, attribs);
|
| string_map->AppendDescriptor(&d, witness);
|
| }
|
| }
|
| @@ -969,28 +969,28 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
|
|
| {
|
| // ECMA-262, section 15.10.7.1.
|
| - FieldDescriptor field(heap->source_symbol(),
|
| + FieldDescriptor field(heap->source_string(),
|
| JSRegExp::kSourceFieldIndex,
|
| final);
|
| initial_map->AppendDescriptor(&field, witness);
|
| }
|
| {
|
| // ECMA-262, section 15.10.7.2.
|
| - FieldDescriptor field(heap->global_symbol(),
|
| + FieldDescriptor field(heap->global_string(),
|
| JSRegExp::kGlobalFieldIndex,
|
| final);
|
| initial_map->AppendDescriptor(&field, witness);
|
| }
|
| {
|
| // ECMA-262, section 15.10.7.3.
|
| - FieldDescriptor field(heap->ignore_case_symbol(),
|
| + FieldDescriptor field(heap->ignore_case_string(),
|
| JSRegExp::kIgnoreCaseFieldIndex,
|
| final);
|
| initial_map->AppendDescriptor(&field, witness);
|
| }
|
| {
|
| // ECMA-262, section 15.10.7.4.
|
| - FieldDescriptor field(heap->multiline_symbol(),
|
| + FieldDescriptor field(heap->multiline_string(),
|
| JSRegExp::kMultilineFieldIndex,
|
| final);
|
| initial_map->AppendDescriptor(&field, witness);
|
| @@ -999,7 +999,7 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| // ECMA-262, section 15.10.7.5.
|
| PropertyAttributes writable =
|
| static_cast<PropertyAttributes>(DONT_ENUM | DONT_DELETE);
|
| - FieldDescriptor field(heap->last_index_symbol(),
|
| + FieldDescriptor field(heap->last_index_string(),
|
| JSRegExp::kLastIndexFieldIndex,
|
| writable);
|
| initial_map->AppendDescriptor(&field, witness);
|
| @@ -1017,7 +1017,7 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| proto_map->set_prototype(native_context()->initial_object_prototype());
|
| Handle<JSObject> proto = factory->NewJSObjectFromMap(proto_map);
|
| proto->InObjectPropertyAtPut(JSRegExp::kSourceFieldIndex,
|
| - heap->query_colon_symbol());
|
| + heap->query_colon_string());
|
| proto->InObjectPropertyAtPut(JSRegExp::kGlobalFieldIndex,
|
| heap->false_value());
|
| proto->InObjectPropertyAtPut(JSRegExp::kIgnoreCaseFieldIndex,
|
| @@ -1054,7 +1054,7 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| // Make sure we can recognize argument objects at runtime.
|
| // This is done by introducing an anonymous function with
|
| // class_name equals 'Arguments'.
|
| - Handle<String> symbol = factory->LookupOneByteSymbol(
|
| + Handle<String> arguments_string = factory->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("Arguments"));
|
| Handle<Code> code = Handle<Code>(
|
| isolate->builtins()->builtin(Builtins::kIllegal));
|
| @@ -1063,14 +1063,14 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| JSObject::cast(native_context()->object_function()->prototype()));
|
|
|
| Handle<JSFunction> function =
|
| - factory->NewFunctionWithPrototype(symbol,
|
| + factory->NewFunctionWithPrototype(arguments_string,
|
| JS_OBJECT_TYPE,
|
| JSObject::kHeaderSize,
|
| prototype,
|
| code,
|
| false);
|
| ASSERT(!function->has_initial_map());
|
| - function->shared()->set_instance_class_name(*symbol);
|
| + function->shared()->set_instance_class_name(*arguments_string);
|
| function->shared()->set_expected_nof_properties(2);
|
| Handle<JSObject> result = factory->NewJSObject(function);
|
|
|
| @@ -1079,20 +1079,20 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| // callee must be added as the second property.
|
| CHECK_NOT_EMPTY_HANDLE(isolate,
|
| JSObject::SetLocalPropertyIgnoreAttributes(
|
| - result, factory->length_symbol(),
|
| + result, factory->length_string(),
|
| factory->undefined_value(), DONT_ENUM));
|
| CHECK_NOT_EMPTY_HANDLE(isolate,
|
| JSObject::SetLocalPropertyIgnoreAttributes(
|
| - result, factory->callee_symbol(),
|
| + result, factory->callee_string(),
|
| factory->undefined_value(), DONT_ENUM));
|
|
|
| #ifdef DEBUG
|
| LookupResult lookup(isolate);
|
| - result->LocalLookup(heap->callee_symbol(), &lookup);
|
| + result->LocalLookup(heap->callee_string(), &lookup);
|
| ASSERT(lookup.IsField());
|
| ASSERT(lookup.GetFieldIndex().field_index() == Heap::kArgumentsCalleeIndex);
|
|
|
| - result->LocalLookup(heap->length_symbol(), &lookup);
|
| + result->LocalLookup(heap->length_string(), &lookup);
|
| ASSERT(lookup.IsField());
|
| ASSERT(lookup.GetFieldIndex().field_index() == Heap::kArgumentsLengthIndex);
|
|
|
| @@ -1153,17 +1153,17 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| map->set_instance_descriptors(*descriptors);
|
|
|
| { // length
|
| - FieldDescriptor d(*factory->length_symbol(), 0, DONT_ENUM);
|
| + FieldDescriptor d(*factory->length_string(), 0, DONT_ENUM);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| { // callee
|
| - CallbacksDescriptor d(*factory->callee_symbol(),
|
| + CallbacksDescriptor d(*factory->callee_string(),
|
| *callee,
|
| attributes);
|
| map->AppendDescriptor(&d, witness);
|
| }
|
| { // caller
|
| - CallbacksDescriptor d(*factory->caller_symbol(),
|
| + CallbacksDescriptor d(*factory->caller_string(),
|
| *caller,
|
| attributes);
|
| map->AppendDescriptor(&d, witness);
|
| @@ -1185,12 +1185,12 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| // Add length property only for strict mode boilerplate.
|
| CHECK_NOT_EMPTY_HANDLE(isolate,
|
| JSObject::SetLocalPropertyIgnoreAttributes(
|
| - result, factory->length_symbol(),
|
| + result, factory->length_string(),
|
| factory->undefined_value(), DONT_ENUM));
|
|
|
| #ifdef DEBUG
|
| LookupResult lookup(isolate);
|
| - result->LocalLookup(heap->length_symbol(), &lookup);
|
| + result->LocalLookup(heap->length_string(), &lookup);
|
| ASSERT(lookup.IsField());
|
| ASSERT(lookup.GetFieldIndex().field_index() == Heap::kArgumentsLengthIndex);
|
|
|
| @@ -1207,14 +1207,14 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| Handle<Code> code = Handle<Code>(
|
| isolate->builtins()->builtin(Builtins::kIllegal));
|
| Handle<JSFunction> context_extension_fun =
|
| - factory->NewFunction(factory->empty_symbol(),
|
| + factory->NewFunction(factory->empty_string(),
|
| JS_CONTEXT_EXTENSION_OBJECT_TYPE,
|
| JSObject::kHeaderSize,
|
| code,
|
| true);
|
|
|
| - Handle<String> name =
|
| - factory->LookupOneByteSymbol(STATIC_ASCII_VECTOR("context_extension"));
|
| + Handle<String> name = factory->InternalizeOneByteString(
|
| + STATIC_ASCII_VECTOR("context_extension"));
|
| context_extension_fun->shared()->set_instance_class_name(*name);
|
| native_context()->set_context_extension_function(*context_extension_fun);
|
| }
|
| @@ -1226,7 +1226,7 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| Handle<Code>(isolate->builtins()->builtin(
|
| Builtins::kHandleApiCallAsFunction));
|
| Handle<JSFunction> delegate =
|
| - factory->NewFunction(factory->empty_symbol(), JS_OBJECT_TYPE,
|
| + factory->NewFunction(factory->empty_string(), JS_OBJECT_TYPE,
|
| JSObject::kHeaderSize, code, true);
|
| native_context()->set_call_as_function_delegate(*delegate);
|
| delegate->shared()->DontAdaptArguments();
|
| @@ -1238,7 +1238,7 @@ bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
|
| Handle<Code>(isolate->builtins()->builtin(
|
| Builtins::kHandleApiCallAsConstructor));
|
| Handle<JSFunction> delegate =
|
| - factory->NewFunction(factory->empty_symbol(), JS_OBJECT_TYPE,
|
| + factory->NewFunction(factory->empty_string(), JS_OBJECT_TYPE,
|
| JSObject::kHeaderSize, code, true);
|
| native_context()->set_call_as_constructor_delegate(*delegate);
|
| delegate->shared()->DontAdaptArguments();
|
| @@ -1390,7 +1390,7 @@ bool Genesis::CompileScriptCached(Vector<const char> name,
|
|
|
| #define INSTALL_NATIVE(Type, name, var) \
|
| Handle<String> var##_name = \
|
| - factory()->LookupOneByteSymbol(STATIC_ASCII_VECTOR(name)); \
|
| + factory()->InternalizeOneByteString(STATIC_ASCII_VECTOR(name)); \
|
| Object* var##_native = \
|
| native_context()->builtins()->GetPropertyNoExceptionThrown( \
|
| *var##_name); \
|
| @@ -1443,12 +1443,12 @@ bool Genesis::InstallNatives() {
|
| Handle<Code> code = Handle<Code>(
|
| isolate()->builtins()->builtin(Builtins::kIllegal));
|
| Handle<JSFunction> builtins_fun =
|
| - factory()->NewFunction(factory()->empty_symbol(),
|
| + factory()->NewFunction(factory()->empty_string(),
|
| JS_BUILTINS_OBJECT_TYPE,
|
| JSBuiltinsObject::kSize, code, true);
|
|
|
| Handle<String> name =
|
| - factory()->LookupOneByteSymbol(STATIC_ASCII_VECTOR("builtins"));
|
| + factory()->InternalizeOneByteString(STATIC_ASCII_VECTOR("builtins"));
|
| builtins_fun->shared()->set_instance_class_name(*name);
|
| builtins_fun->initial_map()->set_dictionary_map(true);
|
| builtins_fun->initial_map()->set_prototype(heap()->null_value());
|
| @@ -1467,12 +1467,12 @@ bool Genesis::InstallNatives() {
|
| // global object.
|
| static const PropertyAttributes attributes =
|
| static_cast<PropertyAttributes>(READ_ONLY | DONT_DELETE);
|
| - Handle<String> global_symbol =
|
| - factory()->LookupOneByteSymbol(STATIC_ASCII_VECTOR("global"));
|
| + Handle<String> global_string =
|
| + factory()->InternalizeOneByteString(STATIC_ASCII_VECTOR("global"));
|
| Handle<Object> global_obj(native_context()->global_object());
|
| CHECK_NOT_EMPTY_HANDLE(isolate(),
|
| JSObject::SetLocalPropertyIgnoreAttributes(
|
| - builtins, global_symbol, global_obj, attributes));
|
| + builtins, global_string, global_obj, attributes));
|
|
|
| // Set up the reference from the global object to the builtins object.
|
| JSGlobalObject::cast(native_context()->global_object())->
|
| @@ -1480,7 +1480,7 @@ bool Genesis::InstallNatives() {
|
|
|
| // Create a bridge function that has context in the native context.
|
| Handle<JSFunction> bridge =
|
| - factory()->NewFunction(factory()->empty_symbol(),
|
| + factory()->NewFunction(factory()->empty_string(),
|
| factory()->undefined_value());
|
| ASSERT(bridge->context() == *isolate()->native_context());
|
|
|
| @@ -1511,48 +1511,51 @@ bool Genesis::InstallNatives() {
|
| Handle<Foreign> script_source(
|
| factory()->NewForeign(&Accessors::ScriptSource));
|
| Handle<Foreign> script_name(factory()->NewForeign(&Accessors::ScriptName));
|
| - Handle<String> id_symbol(factory()->LookupOneByteSymbol(
|
| + Handle<String> id_string(factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("id")));
|
| Handle<Foreign> script_id(factory()->NewForeign(&Accessors::ScriptId));
|
| - Handle<String> line_offset_symbol(
|
| - factory()->LookupOneByteSymbol(STATIC_ASCII_VECTOR("line_offset")));
|
| + Handle<String> line_offset_string(
|
| + factory()->InternalizeOneByteString(
|
| + STATIC_ASCII_VECTOR("line_offset")));
|
| Handle<Foreign> script_line_offset(
|
| factory()->NewForeign(&Accessors::ScriptLineOffset));
|
| - Handle<String> column_offset_symbol(
|
| - factory()->LookupOneByteSymbol(STATIC_ASCII_VECTOR("column_offset")));
|
| + Handle<String> column_offset_string(
|
| + factory()->InternalizeOneByteString(
|
| + STATIC_ASCII_VECTOR("column_offset")));
|
| Handle<Foreign> script_column_offset(
|
| factory()->NewForeign(&Accessors::ScriptColumnOffset));
|
| - Handle<String> data_symbol(factory()->LookupOneByteSymbol(
|
| + Handle<String> data_string(factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("data")));
|
| Handle<Foreign> script_data(factory()->NewForeign(&Accessors::ScriptData));
|
| - Handle<String> type_symbol(factory()->LookupOneByteSymbol(
|
| + Handle<String> type_string(factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("type")));
|
| Handle<Foreign> script_type(factory()->NewForeign(&Accessors::ScriptType));
|
| - Handle<String> compilation_type_symbol(
|
| - factory()->LookupOneByteSymbol(
|
| + Handle<String> compilation_type_string(
|
| + factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("compilation_type")));
|
| Handle<Foreign> script_compilation_type(
|
| factory()->NewForeign(&Accessors::ScriptCompilationType));
|
| - Handle<String> line_ends_symbol(factory()->LookupOneByteSymbol(
|
| + Handle<String> line_ends_string(factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("line_ends")));
|
| Handle<Foreign> script_line_ends(
|
| factory()->NewForeign(&Accessors::ScriptLineEnds));
|
| - Handle<String> context_data_symbol(
|
| - factory()->LookupOneByteSymbol(STATIC_ASCII_VECTOR("context_data")));
|
| + Handle<String> context_data_string(
|
| + factory()->InternalizeOneByteString(
|
| + STATIC_ASCII_VECTOR("context_data")));
|
| Handle<Foreign> script_context_data(
|
| factory()->NewForeign(&Accessors::ScriptContextData));
|
| - Handle<String> eval_from_script_symbol(
|
| - factory()->LookupOneByteSymbol(
|
| + Handle<String> eval_from_script_string(
|
| + factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("eval_from_script")));
|
| Handle<Foreign> script_eval_from_script(
|
| factory()->NewForeign(&Accessors::ScriptEvalFromScript));
|
| - Handle<String> eval_from_script_position_symbol(
|
| - factory()->LookupOneByteSymbol(
|
| + Handle<String> eval_from_script_position_string(
|
| + factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("eval_from_script_position")));
|
| Handle<Foreign> script_eval_from_script_position(
|
| factory()->NewForeign(&Accessors::ScriptEvalFromScriptPosition));
|
| - Handle<String> eval_from_function_name_symbol(
|
| - factory()->LookupOneByteSymbol(
|
| + Handle<String> eval_from_function_name_string(
|
| + factory()->InternalizeOneByteString(
|
| STATIC_ASCII_VECTOR("eval_from_function_name")));
|
| Handle<Foreign> script_eval_from_function_name(
|
| factory()->NewForeign(&Accessors::ScriptEvalFromFunctionName));
|
| @@ -1562,67 +1565,67 @@ bool Genesis::InstallNatives() {
|
|
|
| {
|
| CallbacksDescriptor d(
|
| - *factory()->source_symbol(), *script_source, attribs);
|
| + *factory()->source_string(), *script_source, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| - CallbacksDescriptor d(*factory()->name_symbol(), *script_name, attribs);
|
| + CallbacksDescriptor d(*factory()->name_string(), *script_name, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| - CallbacksDescriptor d(*id_symbol, *script_id, attribs);
|
| + CallbacksDescriptor d(*id_string, *script_id, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| - CallbacksDescriptor d(*line_offset_symbol, *script_line_offset, attribs);
|
| + CallbacksDescriptor d(*line_offset_string, *script_line_offset, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| CallbacksDescriptor d(
|
| - *column_offset_symbol, *script_column_offset, attribs);
|
| + *column_offset_string, *script_column_offset, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| - CallbacksDescriptor d(*data_symbol, *script_data, attribs);
|
| + CallbacksDescriptor d(*data_string, *script_data, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| - CallbacksDescriptor d(*type_symbol, *script_type, attribs);
|
| + CallbacksDescriptor d(*type_string, *script_type, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| CallbacksDescriptor d(
|
| - *compilation_type_symbol, *script_compilation_type, attribs);
|
| + *compilation_type_string, *script_compilation_type, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| - CallbacksDescriptor d(*line_ends_symbol, *script_line_ends, attribs);
|
| + CallbacksDescriptor d(*line_ends_string, *script_line_ends, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| CallbacksDescriptor d(
|
| - *context_data_symbol, *script_context_data, attribs);
|
| + *context_data_string, *script_context_data, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| CallbacksDescriptor d(
|
| - *eval_from_script_symbol, *script_eval_from_script, attribs);
|
| + *eval_from_script_string, *script_eval_from_script, attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| }
|
|
|
| {
|
| CallbacksDescriptor d(
|
| - *eval_from_script_position_symbol,
|
| + *eval_from_script_position_string,
|
| *script_eval_from_script_position,
|
| attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| @@ -1630,7 +1633,7 @@ bool Genesis::InstallNatives() {
|
|
|
| {
|
| CallbacksDescriptor d(
|
| - *eval_from_function_name_symbol,
|
| + *eval_from_function_name_string,
|
| *script_eval_from_function_name,
|
| attribs);
|
| script_map->AppendDescriptor(&d, witness);
|
| @@ -1703,7 +1706,7 @@ bool Genesis::InstallNatives() {
|
|
|
| { // Add length.
|
| CallbacksDescriptor d(
|
| - *factory()->length_symbol(), *array_length, attribs);
|
| + *factory()->length_string(), *array_length, attribs);
|
| array_function->initial_map()->AppendDescriptor(&d, witness);
|
| }
|
|
|
| @@ -1737,7 +1740,7 @@ bool Genesis::InstallNatives() {
|
| HeapObject::cast(string_function->initial_map()->prototype())->map());
|
|
|
| // Install Function.prototype.call and apply.
|
| - { Handle<String> key = factory()->function_class_symbol();
|
| + { Handle<String> key = factory()->function_class_string();
|
| Handle<JSFunction> function =
|
| Handle<JSFunction>::cast(GetProperty(isolate()->global_object(), key));
|
| Handle<JSObject> proto =
|
| @@ -1800,7 +1803,7 @@ bool Genesis::InstallNatives() {
|
| JSFunction* array_function = native_context()->array_function();
|
| Handle<DescriptorArray> array_descriptors(
|
| array_function->initial_map()->instance_descriptors());
|
| - String* length = heap()->length_symbol();
|
| + String* length = heap()->length_string();
|
| int old = array_descriptors->SearchWithCache(
|
| length, array_function->initial_map());
|
| ASSERT(old != DescriptorArray::kNotFound);
|
| @@ -1810,14 +1813,14 @@ bool Genesis::InstallNatives() {
|
| initial_map->AppendDescriptor(&desc, witness);
|
| }
|
| {
|
| - FieldDescriptor index_field(heap()->index_symbol(),
|
| + FieldDescriptor index_field(heap()->index_string(),
|
| JSRegExpResult::kIndexIndex,
|
| NONE);
|
| initial_map->AppendDescriptor(&index_field, witness);
|
| }
|
|
|
| {
|
| - FieldDescriptor input_field(heap()->input_symbol(),
|
| + FieldDescriptor input_field(heap()->input_string(),
|
| JSRegExpResult::kInputIndex,
|
| NONE);
|
| initial_map->AppendDescriptor(&input_field, witness);
|
| @@ -1873,13 +1876,13 @@ static Handle<JSObject> ResolveBuiltinIdHolder(
|
| const char* period_pos = strchr(holder_expr, '.');
|
| if (period_pos == NULL) {
|
| return Handle<JSObject>::cast(
|
| - GetProperty(global, factory->LookupUtf8Symbol(holder_expr)));
|
| + GetProperty(global, factory->InternalizeUtf8String(holder_expr)));
|
| }
|
| ASSERT_EQ(".prototype", period_pos);
|
| Vector<const char> property(holder_expr,
|
| static_cast<int>(period_pos - holder_expr));
|
| Handle<JSFunction> function = Handle<JSFunction>::cast(
|
| - GetProperty(global, factory->LookupUtf8Symbol(property)));
|
| + GetProperty(global, factory->InternalizeUtf8String(property)));
|
| return Handle<JSObject>(JSObject::cast(function->prototype()));
|
| }
|
|
|
| @@ -1888,7 +1891,7 @@ static void InstallBuiltinFunctionId(Handle<JSObject> holder,
|
| const char* function_name,
|
| BuiltinFunctionId id) {
|
| Factory* factory = holder->GetIsolate()->factory();
|
| - Handle<String> name = factory->LookupUtf8Symbol(function_name);
|
| + Handle<String> name = factory->InternalizeUtf8String(function_name);
|
| Object* function_object = holder->GetProperty(*name)->ToObjectUnchecked();
|
| Handle<JSFunction> function(JSFunction::cast(function_object));
|
| function->shared()->set_function_data(Smi::FromInt(id));
|
| @@ -1979,7 +1982,8 @@ void Genesis::InstallSpecialObjects(Handle<Context> native_context) {
|
| native_context->global_object()));
|
| // Expose the natives in global if a name for it is specified.
|
| if (FLAG_expose_natives_as != NULL && strlen(FLAG_expose_natives_as) != 0) {
|
| - Handle<String> natives = factory->LookupUtf8Symbol(FLAG_expose_natives_as);
|
| + Handle<String> natives =
|
| + factory->InternalizeUtf8String(FLAG_expose_natives_as);
|
| CHECK_NOT_EMPTY_HANDLE(isolate,
|
| JSObject::SetLocalPropertyIgnoreAttributes(
|
| global, natives,
|
| @@ -1989,8 +1993,8 @@ void Genesis::InstallSpecialObjects(Handle<Context> native_context) {
|
|
|
| Handle<Object> Error = GetProperty(global, "Error");
|
| if (Error->IsJSObject()) {
|
| - Handle<String> name =
|
| - factory->LookupOneByteSymbol(STATIC_ASCII_VECTOR("stackTraceLimit"));
|
| + Handle<String> name = factory->InternalizeOneByteString(
|
| + STATIC_ASCII_VECTOR("stackTraceLimit"));
|
| Handle<Smi> stack_trace_limit(Smi::FromInt(FLAG_stack_trace_limit));
|
| CHECK_NOT_EMPTY_HANDLE(isolate,
|
| JSObject::SetLocalPropertyIgnoreAttributes(
|
| @@ -2012,7 +2016,7 @@ void Genesis::InstallSpecialObjects(Handle<Context> native_context) {
|
| native_context->security_token());
|
|
|
| Handle<String> debug_string =
|
| - factory->LookupUtf8Symbol(FLAG_expose_debug_as);
|
| + factory->InternalizeUtf8String(FLAG_expose_debug_as);
|
| Handle<Object> global_proxy(debug->debug_context()->global_proxy());
|
| CHECK_NOT_EMPTY_HANDLE(isolate,
|
| JSObject::SetLocalPropertyIgnoreAttributes(
|
| @@ -2156,7 +2160,7 @@ bool Genesis::InstallJSBuiltins(Handle<JSBuiltinsObject> builtins) {
|
| Factory* factory = builtins->GetIsolate()->factory();
|
| for (int i = 0; i < Builtins::NumberOfJavaScriptBuiltins(); i++) {
|
| Builtins::JavaScript id = static_cast<Builtins::JavaScript>(i);
|
| - Handle<String> name = factory->LookupUtf8Symbol(Builtins::GetName(id));
|
| + Handle<String> name = factory->InternalizeUtf8String(Builtins::GetName(id));
|
| Object* function_object = builtins->GetPropertyNoExceptionThrown(*name);
|
| Handle<JSFunction> function
|
| = Handle<JSFunction>(JSFunction::cast(function_object));
|
|
|