Index: src/mips/stub-cache-mips.cc |
diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc |
index 89d8e68d5e57094b2b9540ec94e6b0eb2e45eed3..c4b1ee57a7239ebb9cb73033fd5b1bbcbbe2b916 100644 |
--- a/src/mips/stub-cache-mips.cc |
+++ b/src/mips/stub-cache-mips.cc |
@@ -470,10 +470,9 @@ void BaseStoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm, |
Representation representation = details.representation(); |
ASSERT(!representation.IsNone()); |
- if (details.type() == CONSTANT_FUNCTION) { |
- Handle<HeapObject> constant( |
- HeapObject::cast(descriptors->GetValue(descriptor))); |
- __ LoadHeapObject(scratch1, constant); |
+ if (details.type() == CONSTANT) { |
+ Handle<Object> constant(descriptors->GetValue(descriptor), masm->isolate()); |
+ __ LoadObject(scratch1, constant); |
__ Branch(miss_label, ne, value_reg, Operand(scratch1)); |
} else if (FLAG_track_fields && representation.IsSmi()) { |
__ JumpIfNotSmi(value_reg, miss_label); |
@@ -532,7 +531,7 @@ void BaseStoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm, |
OMIT_REMEMBERED_SET, |
OMIT_SMI_CHECK); |
- if (details.type() == CONSTANT_FUNCTION) { |
+ if (details.type() == CONSTANT) { |
ASSERT(value_reg.is(a0)); |
__ Ret(USE_DELAY_SLOT); |
__ mov(v0, a0); |
@@ -1404,9 +1403,9 @@ void BaseLoadStubCompiler::GenerateLoadField(Register reg, |
} |
-void BaseLoadStubCompiler::GenerateLoadConstant(Handle<JSFunction> value) { |
+void BaseLoadStubCompiler::GenerateLoadConstant(Handle<Object> value) { |
// Return the constant value. |
- __ LoadHeapObject(v0, value); |
+ __ LoadObject(v0, value); |
__ Ret(); |
} |
@@ -2709,7 +2708,7 @@ Handle<Code> CallStubCompiler::CompileCallConstant( |
Handle<Code> code = CompileCustomCall(object, holder, |
Handle<Cell>::null(), |
function, Handle<String>::cast(name), |
- Code::CONSTANT_FUNCTION); |
+ Code::CONSTANT); |
// A null handle means bail out to the regular compiler code below. |
if (!code.is_null()) return code; |
} |