Index: src/arm/stub-cache-arm.cc |
diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc |
index 737e4490708a5d02517680c14b169b5667dab50f..1ccc10680a21f7944797a98452fd97923ee276ed 100644 |
--- a/src/arm/stub-cache-arm.cc |
+++ b/src/arm/stub-cache-arm.cc |
@@ -512,13 +512,7 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm, |
Register storage_reg = name_reg; |
- if (details.type() == CONSTANT_FUNCTION) { |
- Handle<HeapObject> constant( |
- HeapObject::cast(descriptors->GetValue(descriptor))); |
- __ LoadHeapObject(scratch1, constant); |
- __ cmp(value_reg, scratch1); |
- __ b(ne, miss_restore_name); |
- } else if (FLAG_track_fields && representation.IsSmi()) { |
+ if (FLAG_track_fields && representation.IsSmi()) { |
__ JumpIfNotSmi(value_reg, miss_restore_name); |
} else if (FLAG_track_heap_object_fields && representation.IsHeapObject()) { |
__ JumpIfSmi(value_reg, miss_restore_name); |
@@ -547,8 +541,7 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm, |
ASSERT(object->IsJSGlobalProxy() || !object->IsAccessCheckNeeded()); |
// Perform map transition for the receiver if necessary. |
- if (details.type() == FIELD && |
- object->map()->unused_property_fields() == 0) { |
+ if (object->map()->unused_property_fields() == 0) { |
// The properties must be extended before we can store the value. |
// We jump to a runtime call that extends the properties array. |
__ push(receiver_reg); |
@@ -577,8 +570,6 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm, |
OMIT_REMEMBERED_SET, |
OMIT_SMI_CHECK); |
- if (details.type() == CONSTANT_FUNCTION) return; |
- |
int index = transition->instance_descriptors()->GetFieldIndex( |
transition->LastAdded()); |
@@ -965,22 +956,8 @@ static void GenerateFastApiDirectCall(MacroAssembler* masm, |
ExternalReference ref = ExternalReference(&fun, |
type, |
masm->isolate()); |
- Address thunk_address = returns_handle |
- ? FUNCTION_ADDR(&InvokeInvocationCallback) |
- : FUNCTION_ADDR(&InvokeFunctionCallback); |
- ExternalReference::Type thunk_type = |
- returns_handle ? |
- ExternalReference::PROFILING_API_CALL : |
- ExternalReference::PROFILING_API_CALL_NEW; |
- ApiFunction thunk_fun(thunk_address); |
- ExternalReference thunk_ref = ExternalReference(&thunk_fun, thunk_type, |
- masm->isolate()); |
- |
AllowExternalCallThatCantCauseGC scope(masm); |
__ CallApiFunctionAndReturn(ref, |
- function_address, |
- thunk_ref, |
- r1, |
kStackUnwindSpace, |
returns_handle, |
kFastApiCallArguments + 1); |
@@ -1477,28 +1454,14 @@ void BaseLoadStubCompiler::GenerateLoadCallback( |
Address getter_address = v8::ToCData<Address>(callback->getter()); |
bool returns_handle = |
!CallbackTable::ReturnsVoid(isolate(), getter_address); |
- |
ApiFunction fun(getter_address); |
ExternalReference::Type type = |
returns_handle ? |
ExternalReference::DIRECT_GETTER_CALL : |
ExternalReference::DIRECT_GETTER_CALL_NEW; |
- ExternalReference ref = ExternalReference(&fun, type, isolate()); |
- Address thunk_address = returns_handle |
- ? FUNCTION_ADDR(&InvokeAccessorGetter) |
- : FUNCTION_ADDR(&InvokeAccessorGetterCallback); |
- ExternalReference::Type thunk_type = |
- returns_handle ? |
- ExternalReference::PROFILING_GETTER_CALL : |
- ExternalReference::PROFILING_GETTER_CALL_NEW; |
- ApiFunction thunk_fun(thunk_address); |
- ExternalReference thunk_ref = ExternalReference(&thunk_fun, thunk_type, |
- isolate()); |
+ ExternalReference ref = ExternalReference(&fun, type, isolate()); |
__ CallApiFunctionAndReturn(ref, |
- getter_address, |
- thunk_ref, |
- r2, |
kStackUnwindSpace, |
returns_handle, |
5); |