Index: src/ic.cc |
diff --git a/src/ic.cc b/src/ic.cc |
index d75b3e9799abae97e9fad7e6fc99c66bf99b209d..a12a21847d6401fcae43b1d4ab1b2571c34c62a7 100644 |
--- a/src/ic.cc |
+++ b/src/ic.cc |
@@ -1322,7 +1322,7 @@ static bool LookupForWrite(Handle<JSObject> receiver, |
// yet prepared for this scenario. |
if (!FLAG_es5_readonly) return false; |
receiver->Lookup(*name, lookup); |
- if (!lookup->IsCallbacks()) return false; |
+ if (!lookup->IsPropertyCallbacks()) return false; |
Handle<Object> callback(lookup->GetCallbackObject()); |
return callback->IsAccessorPair() && StoreICableLookup(lookup); |
} |
@@ -1512,10 +1512,7 @@ void StoreIC::UpdateCaches(LookupResult* lookup, |
case CONSTANT_FUNCTION: |
return; |
case TRANSITION: { |
- Object* value = lookup->GetTransitionValue(); |
- // Callbacks. |
- if (value->IsAccessorPair()) return; |
- |
+ Map* value = lookup->GetTransitionTarget(); |
Handle<Map> transition(Map::cast(value)); |
DescriptorArray* target_descriptors = transition->instance_descriptors(); |
int descriptor = target_descriptors->LastAdded(); |
@@ -1978,16 +1975,8 @@ void KeyedStoreIC::UpdateCaches(LookupResult* lookup, |
Handle<Map>::null(), strict_mode); |
break; |
case TRANSITION: { |
- Object* value = lookup->GetTransitionValue(); |
- // Callbacks transition. |
- if (value->IsAccessorPair()) { |
- code = (strict_mode == kStrictMode) |
- ? generic_stub_strict() |
- : generic_stub(); |
- break; |
- } |
+ Handle<Map> transition(lookup->GetTransitionTarget()); |
- Handle<Map> transition(Map::cast(value)); |
DescriptorArray* target_descriptors = transition->instance_descriptors(); |
int descriptor = target_descriptors->LastAdded(); |
PropertyDetails details = target_descriptors->GetDetails(descriptor); |
@@ -2146,7 +2135,7 @@ RUNTIME_FUNCTION(MaybeObject*, StoreIC_ArrayLength) { |
// The length property has to be a writable callback property. |
LookupResult debug_lookup(isolate); |
receiver->LocalLookup(isolate->heap()->length_symbol(), &debug_lookup); |
- ASSERT(debug_lookup.IsCallbacks() && !debug_lookup.IsReadOnly()); |
+ ASSERT(debug_lookup.IsPropertyCallbacks() && !debug_lookup.IsReadOnly()); |
#endif |
Object* result; |