Chromium Code Reviews| Index: src/objects.cc |
| diff --git a/src/objects.cc b/src/objects.cc |
| index 4aef8088860f275126fd9eb2ea7c5365635016fe..d08062a591f3d00aa60792d7607a5b352996e9d4 100644 |
| --- a/src/objects.cc |
| +++ b/src/objects.cc |
| @@ -16316,27 +16316,12 @@ Type* PropertyCell::UpdateType(Handle<PropertyCell> cell, |
| void PropertyCell::SetValueInferType(Handle<PropertyCell> cell, |
| - Handle<Object> value, |
| - WriteBarrierMode mode) { |
| - CALL_HEAP_FUNCTION_VOID(cell->GetIsolate(), |
| - cell->SetValueInferType(*value, mode)); |
| -} |
| - |
| - |
| -MaybeObject* PropertyCell::SetValueInferType(Object* value, |
| - WriteBarrierMode ignored) { |
| - set_value(value, ignored); |
| - if (!Type::Any()->Is(type())) { |
| - IdempotentPointerToHandleCodeTrampoline trampoline(GetIsolate()); |
| - MaybeObject* maybe_type = trampoline.CallWithReturnValue( |
| - &PropertyCell::UpdateType, |
| - Handle<PropertyCell>(this), |
| - Handle<Object>(value, GetIsolate())); |
| - Type* new_type = NULL; |
| - if (!maybe_type->To(&new_type)) return maybe_type; |
| - set_type(new_type); |
| + Handle<Object> value) { |
| + cell->set_value(*value); |
| + if (!Type::Any()->Is(cell->type())) { |
| + Type* new_type = UpdateType(cell, value); |
|
rossberg
2013/10/21 12:16:35
Nit: could inline this
Michael Starzinger
2013/10/21 12:49:44
Nope. This cannot be inlined, as "cell" is a handl
|
| + cell->set_type(new_type); |
| } |
| - return value; |
| } |