| Index: src/arm/stub-cache-arm.cc
|
| diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc
|
| index d7b1b55c20a06589f472cb39f0eb022e7ff41490..ccf83f7a1b45db4cb9f3616ecf4d156561ec68a9 100644
|
| --- a/src/arm/stub-cache-arm.cc
|
| +++ b/src/arm/stub-cache-arm.cc
|
| @@ -479,10 +479,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);
|
| __ cmp(value_reg, scratch1);
|
| __ b(ne, miss_label);
|
| } else if (FLAG_track_fields && representation.IsSmi()) {
|
| @@ -543,7 +542,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(r0));
|
| __ Ret();
|
| return;
|
| @@ -1399,9 +1398,9 @@ void BaseLoadStubCompiler::GenerateLoadField(Register reg,
|
| }
|
|
|
|
|
| -void BaseLoadStubCompiler::GenerateLoadConstant(Handle<JSFunction> value) {
|
| +void BaseLoadStubCompiler::GenerateLoadConstant(Handle<Object> value) {
|
| // Return the constant value.
|
| - __ LoadHeapObject(r0, value);
|
| + __ LoadObject(r0, value);
|
| __ Ret();
|
| }
|
|
|
| @@ -2670,7 +2669,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;
|
| }
|
|
|