| Index: src/liveedit.cc
 | 
| diff --git a/src/liveedit.cc b/src/liveedit.cc
 | 
| index 5dc86f91d6b5490b8ac550f22be20cab0f85bb17..f35315438d7a4ef25200eed645b2469b34d9a09e 100644
 | 
| --- a/src/liveedit.cc
 | 
| +++ b/src/liveedit.cc
 | 
| @@ -670,6 +670,7 @@ class JSArrayBasedStruct {
 | 
|    }
 | 
|    int GetSmiValueField(int field_position) {
 | 
|      Object* res = GetField(field_position);
 | 
| +    CHECK(res->IsSmi());
 | 
|      return Smi::cast(res)->value();
 | 
|    }
 | 
|  
 | 
| @@ -714,14 +715,17 @@ class FunctionInfoWrapper : public JSArrayBasedStruct<FunctionInfoWrapper> {
 | 
|      return this->GetSmiValueField(kParentIndexOffset_);
 | 
|    }
 | 
|    Handle<Code> GetFunctionCode() {
 | 
| -    Handle<Object> raw_result = UnwrapJSValue(Handle<JSValue>(
 | 
| -        JSValue::cast(this->GetField(kCodeOffset_))));
 | 
| +    Object* element = this->GetField(kCodeOffset_);
 | 
| +    CHECK(element->IsJSValue());
 | 
| +    Handle<JSValue> value_wrapper(JSValue::cast(element));
 | 
| +    Handle<Object> raw_result = UnwrapJSValue(value_wrapper);
 | 
| +    CHECK(raw_result->IsCode());
 | 
|      return Handle<Code>::cast(raw_result);
 | 
|    }
 | 
|    Handle<Object> GetCodeScopeInfo() {
 | 
| -    Handle<Object> raw_result = UnwrapJSValue(Handle<JSValue>(
 | 
| -        JSValue::cast(this->GetField(kCodeScopeInfoOffset_))));
 | 
| -    return raw_result;
 | 
| +    Object* element = this->GetField(kCodeScopeInfoOffset_);
 | 
| +    CHECK(element->IsJSValue());
 | 
| +    return UnwrapJSValue(Handle<JSValue>(JSValue::cast(element)));
 | 
|    }
 | 
|    int GetStartPosition() {
 | 
|      return this->GetSmiValueField(kStartPositionOffset_);
 | 
| @@ -771,8 +775,10 @@ class SharedInfoWrapper : public JSArrayBasedStruct<SharedInfoWrapper> {
 | 
|    }
 | 
|    Handle<SharedFunctionInfo> GetInfo() {
 | 
|      Object* element = this->GetField(kSharedInfoOffset_);
 | 
| +    CHECK(element->IsJSValue());
 | 
|      Handle<JSValue> value_wrapper(JSValue::cast(element));
 | 
|      Handle<Object> raw_result = UnwrapJSValue(value_wrapper);
 | 
| +    CHECK(raw_result->IsSharedFunctionInfo());
 | 
|      return Handle<SharedFunctionInfo>::cast(raw_result);
 | 
|    }
 | 
|  
 | 
| @@ -1127,6 +1133,7 @@ void LiveEdit::SetFunctionScript(Handle<JSValue> function_wrapper,
 | 
|                                   Handle<Object> script_handle) {
 | 
|    Handle<SharedFunctionInfo> shared_info =
 | 
|        Handle<SharedFunctionInfo>::cast(UnwrapJSValue(function_wrapper));
 | 
| +  CHECK(script_handle->IsScript() || script_handle->IsUndefined());
 | 
|    shared_info->set_script(*script_handle);
 | 
|  
 | 
|    Isolate::Current()->compilation_cache()->Remove(shared_info);
 | 
| 
 |