| Index: src/ia32/stub-cache-ia32.cc
|
| diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc
|
| index 2b391e0b3357aaf3fa1f6fa1d2172ddfba146499..123506fa623592f72f03919f7949818b56f0d81a 100644
|
| --- a/src/ia32/stub-cache-ia32.cc
|
| +++ b/src/ia32/stub-cache-ia32.cc
|
| @@ -816,11 +816,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);
|
| - __ cmp(value_reg, scratch1);
|
| + if (details.type() == CONSTANT) {
|
| + Handle<Object> constant(descriptors->GetValue(descriptor), masm->isolate());
|
| + __ CmpObject(value_reg, constant);
|
| __ j(not_equal, miss_label);
|
| } else if (FLAG_track_fields && representation.IsSmi()) {
|
| __ JumpIfNotSmi(value_reg, miss_label);
|
| @@ -897,7 +895,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(eax));
|
| __ ret(0);
|
| return;
|
| @@ -1428,9 +1426,9 @@ void BaseLoadStubCompiler::GenerateLoadCallback(
|
| }
|
|
|
|
|
| -void BaseLoadStubCompiler::GenerateLoadConstant(Handle<JSFunction> value) {
|
| +void BaseLoadStubCompiler::GenerateLoadConstant(Handle<Object> value) {
|
| // Return the constant value.
|
| - __ LoadHeapObject(eax, value);
|
| + __ LoadObject(eax, value);
|
| __ ret(0);
|
| }
|
|
|
| @@ -2727,7 +2725,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;
|
| }
|
|
|