| Index: src/mips/full-codegen-mips.cc
|
| diff --git a/src/mips/full-codegen-mips.cc b/src/mips/full-codegen-mips.cc
|
| index 03f2774f48c359ab16ca4583c1e55706d36ffaba..11f02380505bcf6f0810cb79642ea728f417513d 100644
|
| --- a/src/mips/full-codegen-mips.cc
|
| +++ b/src/mips/full-codegen-mips.cc
|
| @@ -1637,7 +1637,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| ASSERT(!CompileTimeValue::IsCompileTimeValue(property->value()));
|
| // Fall through.
|
| case ObjectLiteral::Property::COMPUTED:
|
| - if (key->handle()->IsSymbol()) {
|
| + if (key->handle()->IsInternalizedString()) {
|
| if (property->emit_store()) {
|
| VisitForAccumulatorValue(value);
|
| __ mov(a0, result_register());
|
| @@ -2710,7 +2710,7 @@ void FullCodeGenerator::EmitIsStringWrapperSafeForDefaultValueOf(
|
| __ LoadRoot(t0, Heap::kHashTableMapRootIndex);
|
| __ Branch(if_false, eq, a2, Operand(t0));
|
|
|
| - // Look for valueOf symbol in the descriptor array, and indicate false if
|
| + // Look for valueOf name in the descriptor array, and indicate false if
|
| // found. Since we omit an enumeration index check, if it is added via a
|
| // transition that shares its descriptor array, this is a false positive.
|
| Label entry, loop, done;
|
| @@ -2735,10 +2735,10 @@ void FullCodeGenerator::EmitIsStringWrapperSafeForDefaultValueOf(
|
| __ Addu(a2, a2, t1);
|
|
|
| // Loop through all the keys in the descriptor array. If one of these is the
|
| - // symbol valueOf the result is false.
|
| - // The use of t2 to store the valueOf symbol asumes that it is not otherwise
|
| + // string "valueOf" the result is false.
|
| + // The use of t2 to store the valueOf string assumes that it is not otherwise
|
| // used in the loop below.
|
| - __ LoadRoot(t2, Heap::kvalue_of_symbolRootIndex);
|
| + __ li(t2, Operand(FACTORY->value_of_string()));
|
| __ jmp(&entry);
|
| __ bind(&loop);
|
| __ lw(a3, MemOperand(t0, 0));
|
| @@ -2969,12 +2969,12 @@ void FullCodeGenerator::EmitClassOf(CallRuntime* expr) {
|
|
|
| // Functions have class 'Function'.
|
| __ bind(&function);
|
| - __ LoadRoot(v0, Heap::kfunction_class_symbolRootIndex);
|
| + __ LoadRoot(v0, Heap::kfunction_class_stringRootIndex);
|
| __ jmp(&done);
|
|
|
| // Objects with a non-function constructor have class 'Object'.
|
| __ bind(&non_function_constructor);
|
| - __ LoadRoot(v0, Heap::kObject_symbolRootIndex);
|
| + __ LoadRoot(v0, Heap::kObject_stringRootIndex);
|
| __ jmp(&done);
|
|
|
| // Non-JS objects have class null.
|
| @@ -3344,7 +3344,7 @@ void FullCodeGenerator::EmitStringCharAt(CallRuntime* expr) {
|
| __ bind(&index_out_of_range);
|
| // When the index is out of range, the spec requires us to return
|
| // the empty string.
|
| - __ LoadRoot(result, Heap::kEmptyStringRootIndex);
|
| + __ LoadRoot(result, Heap::kempty_stringRootIndex);
|
| __ jmp(&done);
|
|
|
| __ bind(&need_conversion);
|
| @@ -3659,7 +3659,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) {
|
| __ lw(array_length, FieldMemOperand(array, JSArray::kLengthOffset));
|
| __ SmiUntag(array_length);
|
| __ Branch(&non_trivial_array, ne, array_length, Operand(zero_reg));
|
| - __ LoadRoot(v0, Heap::kEmptyStringRootIndex);
|
| + __ LoadRoot(v0, Heap::kempty_stringRootIndex);
|
| __ Branch(&done);
|
|
|
| __ bind(&non_trivial_array);
|
| @@ -4274,12 +4274,12 @@ void FullCodeGenerator::EmitLiteralCompareTypeof(Expression* expr,
|
| }
|
| PrepareForBailoutBeforeSplit(expr, true, if_true, if_false);
|
|
|
| - if (check->Equals(isolate()->heap()->number_symbol())) {
|
| + if (check->Equals(isolate()->heap()->number_string())) {
|
| __ JumpIfSmi(v0, if_true);
|
| __ lw(v0, FieldMemOperand(v0, HeapObject::kMapOffset));
|
| __ LoadRoot(at, Heap::kHeapNumberMapRootIndex);
|
| Split(eq, v0, Operand(at), if_true, if_false, fall_through);
|
| - } else if (check->Equals(isolate()->heap()->string_symbol())) {
|
| + } else if (check->Equals(isolate()->heap()->string_string())) {
|
| __ JumpIfSmi(v0, if_false);
|
| // Check for undetectable objects => false.
|
| __ GetObjectType(v0, v0, a1);
|
| @@ -4288,16 +4288,16 @@ void FullCodeGenerator::EmitLiteralCompareTypeof(Expression* expr,
|
| __ And(a1, a1, Operand(1 << Map::kIsUndetectable));
|
| Split(eq, a1, Operand(zero_reg),
|
| if_true, if_false, fall_through);
|
| - } else if (check->Equals(isolate()->heap()->boolean_symbol())) {
|
| + } else if (check->Equals(isolate()->heap()->boolean_string())) {
|
| __ LoadRoot(at, Heap::kTrueValueRootIndex);
|
| __ Branch(if_true, eq, v0, Operand(at));
|
| __ LoadRoot(at, Heap::kFalseValueRootIndex);
|
| Split(eq, v0, Operand(at), if_true, if_false, fall_through);
|
| } else if (FLAG_harmony_typeof &&
|
| - check->Equals(isolate()->heap()->null_symbol())) {
|
| + check->Equals(isolate()->heap()->null_string())) {
|
| __ LoadRoot(at, Heap::kNullValueRootIndex);
|
| Split(eq, v0, Operand(at), if_true, if_false, fall_through);
|
| - } else if (check->Equals(isolate()->heap()->undefined_symbol())) {
|
| + } else if (check->Equals(isolate()->heap()->undefined_string())) {
|
| __ LoadRoot(at, Heap::kUndefinedValueRootIndex);
|
| __ Branch(if_true, eq, v0, Operand(at));
|
| __ JumpIfSmi(v0, if_false);
|
| @@ -4306,14 +4306,14 @@ void FullCodeGenerator::EmitLiteralCompareTypeof(Expression* expr,
|
| __ lbu(a1, FieldMemOperand(v0, Map::kBitFieldOffset));
|
| __ And(a1, a1, Operand(1 << Map::kIsUndetectable));
|
| Split(ne, a1, Operand(zero_reg), if_true, if_false, fall_through);
|
| - } else if (check->Equals(isolate()->heap()->function_symbol())) {
|
| + } else if (check->Equals(isolate()->heap()->function_string())) {
|
| __ JumpIfSmi(v0, if_false);
|
| STATIC_ASSERT(NUM_OF_CALLABLE_SPEC_OBJECT_TYPES == 2);
|
| __ GetObjectType(v0, v0, a1);
|
| __ Branch(if_true, eq, a1, Operand(JS_FUNCTION_TYPE));
|
| Split(eq, a1, Operand(JS_FUNCTION_PROXY_TYPE),
|
| if_true, if_false, fall_through);
|
| - } else if (check->Equals(isolate()->heap()->object_symbol())) {
|
| + } else if (check->Equals(isolate()->heap()->object_string())) {
|
| __ JumpIfSmi(v0, if_false);
|
| if (!FLAG_harmony_typeof) {
|
| __ LoadRoot(at, Heap::kNullValueRootIndex);
|
|
|