| Index: src/api.cc
|
| diff --git a/src/api.cc b/src/api.cc
|
| index 93037822cf3553ca0b60b62b736430b96770520d..c16244038b4b956645bd00214d03dd847d88bbaf 100644
|
| --- a/src/api.cc
|
| +++ b/src/api.cc
|
| @@ -1478,11 +1478,11 @@ v8::Handle<Value> Message::GetScriptResourceName() const {
|
| }
|
| ENTER_V8;
|
| HandleScope scope;
|
| - i::Handle<i::JSObject> obj =
|
| - i::Handle<i::JSObject>::cast(Utils::OpenHandle(this));
|
| + i::Handle<i::JSMessageObject> message =
|
| + i::Handle<i::JSMessageObject>::cast(Utils::OpenHandle(this));
|
| // Return this.script.name.
|
| i::Handle<i::JSValue> script =
|
| - i::Handle<i::JSValue>::cast(GetProperty(obj, "script"));
|
| + i::Handle<i::JSValue>::cast(i::Handle<i::Object>(message->script()));
|
| i::Handle<i::Object> resource_name(i::Script::cast(script->value())->name());
|
| return scope.Close(Utils::ToLocal(resource_name));
|
| }
|
| @@ -1494,11 +1494,11 @@ v8::Handle<Value> Message::GetScriptData() const {
|
| }
|
| ENTER_V8;
|
| HandleScope scope;
|
| - i::Handle<i::JSObject> obj =
|
| - i::Handle<i::JSObject>::cast(Utils::OpenHandle(this));
|
| + i::Handle<i::JSMessageObject> message =
|
| + i::Handle<i::JSMessageObject>::cast(Utils::OpenHandle(this));
|
| // Return this.script.data.
|
| i::Handle<i::JSValue> script =
|
| - i::Handle<i::JSValue>::cast(GetProperty(obj, "script"));
|
| + i::Handle<i::JSValue>::cast(i::Handle<i::Object>(message->script()));
|
| i::Handle<i::Object> data(i::Script::cast(script->value())->data());
|
| return scope.Close(Utils::ToLocal(data));
|
| }
|
| @@ -1510,9 +1510,9 @@ v8::Handle<v8::StackTrace> Message::GetStackTrace() const {
|
| }
|
| ENTER_V8;
|
| HandleScope scope;
|
| - i::Handle<i::JSObject> obj =
|
| - i::Handle<i::JSObject>::cast(Utils::OpenHandle(this));
|
| - i::Handle<i::Object> stackFramesObj = GetProperty(obj, "stackFrames");
|
| + i::Handle<i::JSMessageObject> message =
|
| + i::Handle<i::JSMessageObject>::cast(Utils::OpenHandle(this));
|
| + i::Handle<i::Object> stackFramesObj(message->stack_frames());
|
| if (!stackFramesObj->IsJSArray()) return v8::Handle<v8::StackTrace>();
|
| i::Handle<i::JSArray> stackTrace =
|
| i::Handle<i::JSArray>::cast(stackFramesObj);
|
| @@ -1552,6 +1552,7 @@ int Message::GetLineNumber() const {
|
| ON_BAILOUT("v8::Message::GetLineNumber()", return kNoLineNumberInfo);
|
| ENTER_V8;
|
| HandleScope scope;
|
| +
|
| EXCEPTION_PREAMBLE();
|
| i::Handle<i::Object> result = CallV8HeapFunction("GetLineNumber",
|
| Utils::OpenHandle(this),
|
| @@ -1565,9 +1566,9 @@ int Message::GetStartPosition() const {
|
| if (IsDeadCheck("v8::Message::GetStartPosition()")) return 0;
|
| ENTER_V8;
|
| HandleScope scope;
|
| -
|
| - i::Handle<i::JSObject> data_obj = Utils::OpenHandle(this);
|
| - return static_cast<int>(GetProperty(data_obj, "startPos")->Number());
|
| + i::Handle<i::JSMessageObject> message =
|
| + i::Handle<i::JSMessageObject>::cast(Utils::OpenHandle(this));
|
| + return message->start_position();
|
| }
|
|
|
|
|
| @@ -1575,8 +1576,9 @@ int Message::GetEndPosition() const {
|
| if (IsDeadCheck("v8::Message::GetEndPosition()")) return 0;
|
| ENTER_V8;
|
| HandleScope scope;
|
| - i::Handle<i::JSObject> data_obj = Utils::OpenHandle(this);
|
| - return static_cast<int>(GetProperty(data_obj, "endPos")->Number());
|
| + i::Handle<i::JSMessageObject> message =
|
| + i::Handle<i::JSMessageObject>::cast(Utils::OpenHandle(this));
|
| + return message->end_position();
|
| }
|
|
|
|
|
| @@ -1606,8 +1608,10 @@ int Message::GetEndColumn() const {
|
| data_obj,
|
| &has_pending_exception);
|
| EXCEPTION_BAILOUT_CHECK(0);
|
| - int start = static_cast<int>(GetProperty(data_obj, "startPos")->Number());
|
| - int end = static_cast<int>(GetProperty(data_obj, "endPos")->Number());
|
| + i::Handle<i::JSMessageObject> message =
|
| + i::Handle<i::JSMessageObject>::cast(data_obj);
|
| + int start = message->start_position();
|
| + int end = message->end_position();
|
| return static_cast<int>(start_col_obj->Number()) + (end - start);
|
| }
|
|
|
|
|