Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index dce2e15674b52fcc3ec30b8922923220112c14a6..16634978f5b88ddbafe2a237293d9d3d3a037e80 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -783,7 +783,8 @@ static MaybeObject* Runtime_GetOwnProperty(Arguments args) { |
case JSObject::INTERCEPTED_ELEMENT: |
case JSObject::FAST_ELEMENT: { |
elms->set(IS_ACCESSOR_INDEX, Heap::false_value()); |
- elms->set(VALUE_INDEX, *GetElement(obj, index)); |
+ Handle<Object> value = GetElement(obj, index); |
+ elms->set(VALUE_INDEX, *value); |
elms->set(WRITABLE_INDEX, Heap::true_value()); |
elms->set(ENUMERABLE_INDEX, Heap::true_value()); |
elms->set(CONFIGURABLE_INDEX, Heap::true_value()); |
@@ -816,12 +817,14 @@ static MaybeObject* Runtime_GetOwnProperty(Arguments args) { |
} |
break; |
} |
- case NORMAL: |
+ case NORMAL: { |
// This is a data property. |
elms->set(IS_ACCESSOR_INDEX, Heap::false_value()); |
- elms->set(VALUE_INDEX, *GetElement(obj, index)); |
+ Handle<Object> value = GetElement(obj, index); |
+ elms->set(VALUE_INDEX, *value); |
elms->set(WRITABLE_INDEX, Heap::ToBoolean(!details.IsReadOnly())); |
break; |
+ } |
default: |
UNREACHABLE(); |
break; |