From: yangguo@chromium.org Date: Fri, 14 Sep 2012 13:31:11 +0000 (+0000) Subject: Add checks to live edit. X-Git-Tag: upstream/4.7.83~16000 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a3b006058a153d1a00ab5e9f02681ca653d28cd3;p=platform%2Fupstream%2Fv8.git Add checks to live edit. BUG=v8:2297 Review URL: https://chromiumcodereview.appspot.com/10914262 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/liveedit.cc b/src/liveedit.cc index f353154..2a3aafc 100644 --- a/src/liveedit.cc +++ b/src/liveedit.cc @@ -635,6 +635,21 @@ static Handle WrapInJSValue(Handle object) { } +static Handle UnwrapSharedFunctionInfoFromJSValue( + Handle jsValue) { + Object* shared = jsValue->value(); + CHECK(shared->IsSharedFunctionInfo()); + return Handle(SharedFunctionInfo::cast(shared)); +} + + +static int GetArrayLength(Handle array) { + Object* length = array->length(); + CHECK(length->IsSmi()); + return Smi::cast(length)->value(); +} + + // Simple helper class that creates more or less typed structures over // JSArray object. This is an adhoc method of passing structures from C++ // to JavaScript. @@ -777,9 +792,7 @@ class SharedInfoWrapper : public JSArrayBasedStruct { Object* element = this->GetField(kSharedInfoOffset_); CHECK(element->IsJSValue()); Handle value_wrapper(JSValue::cast(element)); - Handle raw_result = UnwrapJSValue(value_wrapper); - CHECK(raw_result->IsSharedFunctionInfo()); - return Handle::cast(raw_result); + return UnwrapSharedFunctionInfoFromJSValue(value_wrapper); } private: @@ -915,7 +928,7 @@ JSArray* LiveEdit::GatherCompileInfo(Handle