| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 2008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2019 i::Handle<i::SharedFunctionInfo> function_info = OpenScript(this); | 2019 i::Handle<i::SharedFunctionInfo> function_info = OpenScript(this); |
| 2020 i::Handle<i::Script> script(i::Script::cast(function_info->script())); | 2020 i::Handle<i::Script> script(i::Script::cast(function_info->script())); |
| 2021 i::Handle<i::Object> id(script->id(), isolate); | 2021 i::Handle<i::Object> id(script->id(), isolate); |
| 2022 raw_id = *id; | 2022 raw_id = *id; |
| 2023 } | 2023 } |
| 2024 i::Handle<i::Object> id(raw_id, isolate); | 2024 i::Handle<i::Object> id(raw_id, isolate); |
| 2025 return Utils::ToLocal(id); | 2025 return Utils::ToLocal(id); |
| 2026 } | 2026 } |
| 2027 | 2027 |
| 2028 | 2028 |
| 2029 int Script::GetId() { |
| 2030 i::Isolate* isolate = i::Isolate::Current(); |
| 2031 ON_BAILOUT(isolate, "v8::Script::Id()", return -1); |
| 2032 LOG_API(isolate, "Script::Id"); |
| 2033 { |
| 2034 i::HandleScope scope(isolate); |
| 2035 i::Handle<i::SharedFunctionInfo> function_info = OpenScript(this); |
| 2036 i::Handle<i::Script> script(i::Script::cast(function_info->script())); |
| 2037 return script->id()->value(); |
| 2038 } |
| 2039 } |
| 2040 |
| 2041 |
| 2029 int Script::GetLineNumber(int code_pos) { | 2042 int Script::GetLineNumber(int code_pos) { |
| 2030 i::Isolate* isolate = i::Isolate::Current(); | 2043 i::Isolate* isolate = i::Isolate::Current(); |
| 2031 ON_BAILOUT(isolate, "v8::Script::GetLineNumber()", return -1); | 2044 ON_BAILOUT(isolate, "v8::Script::GetLineNumber()", return -1); |
| 2032 LOG_API(isolate, "Script::GetLineNumber"); | 2045 LOG_API(isolate, "Script::GetLineNumber"); |
| 2033 i::Handle<i::Object> obj = Utils::OpenHandle(this); | 2046 i::Handle<i::Object> obj = Utils::OpenHandle(this); |
| 2034 if (obj->IsScript()) { | 2047 if (obj->IsScript()) { |
| 2035 i::Handle<i::Script> script = i::Handle<i::Script>(i::Script::cast(*obj)); | 2048 i::Handle<i::Script> script = i::Handle<i::Script>(i::Script::cast(*obj)); |
| 2036 return i::GetScriptLineNumber(script, code_pos); | 2049 return i::GetScriptLineNumber(script, code_pos); |
| 2037 } else { | 2050 } else { |
| 2038 return -1; | 2051 return -1; |
| (...skipping 2290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4329 | 4342 |
| 4330 int Function::GetScriptColumnNumber() const { | 4343 int Function::GetScriptColumnNumber() const { |
| 4331 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); | 4344 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); |
| 4332 if (func->shared()->script()->IsScript()) { | 4345 if (func->shared()->script()->IsScript()) { |
| 4333 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); | 4346 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); |
| 4334 return i::GetScriptColumnNumber(script, func->shared()->start_position()); | 4347 return i::GetScriptColumnNumber(script, func->shared()->start_position()); |
| 4335 } | 4348 } |
| 4336 return kLineOffsetNotFound; | 4349 return kLineOffsetNotFound; |
| 4337 } | 4350 } |
| 4338 | 4351 |
| 4352 |
| 4339 Handle<Value> Function::GetScriptId() const { | 4353 Handle<Value> Function::GetScriptId() const { |
| 4340 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); | 4354 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); |
| 4341 if (!func->shared()->script()->IsScript()) | 4355 if (!func->shared()->script()->IsScript()) |
| 4342 return v8::Undefined(); | 4356 return v8::Undefined(); |
| 4343 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); | 4357 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); |
| 4344 return Utils::ToLocal(i::Handle<i::Object>(script->id(), func->GetIsolate())); | 4358 return Utils::ToLocal(i::Handle<i::Object>(script->id(), func->GetIsolate())); |
| 4345 } | 4359 } |
| 4346 | 4360 |
| 4361 |
| 4362 int Function::ScriptId() const { |
| 4363 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); |
| 4364 if (!func->shared()->script()->IsScript()) return v8::Script::kNoScriptId; |
| 4365 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); |
| 4366 return script->id()->value(); |
| 4367 } |
| 4368 |
| 4369 |
| 4347 int String::Length() const { | 4370 int String::Length() const { |
| 4348 i::Handle<i::String> str = Utils::OpenHandle(this); | 4371 i::Handle<i::String> str = Utils::OpenHandle(this); |
| 4349 if (IsDeadCheck(str->GetIsolate(), "v8::String::Length()")) return 0; | 4372 if (IsDeadCheck(str->GetIsolate(), "v8::String::Length()")) return 0; |
| 4350 return str->length(); | 4373 return str->length(); |
| 4351 } | 4374 } |
| 4352 | 4375 |
| 4353 | 4376 |
| 4354 bool String::IsOneByte() const { | 4377 bool String::IsOneByte() const { |
| 4355 i::Handle<i::String> str = Utils::OpenHandle(this); | 4378 i::Handle<i::String> str = Utils::OpenHandle(this); |
| 4356 if (IsDeadCheck(str->GetIsolate(), "v8::String::IsOneByte()")) { | 4379 if (IsDeadCheck(str->GetIsolate(), "v8::String::IsOneByte()")) { |
| (...skipping 3611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7968 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); | 7991 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); |
| 7969 Address callback_address = | 7992 Address callback_address = |
| 7970 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 7993 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |
| 7971 VMState<EXTERNAL> state(isolate); | 7994 VMState<EXTERNAL> state(isolate); |
| 7972 ExternalCallbackScope call_scope(isolate, callback_address); | 7995 ExternalCallbackScope call_scope(isolate, callback_address); |
| 7973 return callback(info); | 7996 return callback(info); |
| 7974 } | 7997 } |
| 7975 | 7998 |
| 7976 | 7999 |
| 7977 } } // namespace v8::internal | 8000 } } // namespace v8::internal |
| OLD | NEW |