Chromium Code Reviews| 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 2280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4319 | 4332 |
| 4320 int Function::GetScriptColumnNumber() const { | 4333 int Function::GetScriptColumnNumber() const { |
| 4321 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); | 4334 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); |
| 4322 if (func->shared()->script()->IsScript()) { | 4335 if (func->shared()->script()->IsScript()) { |
| 4323 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); | 4336 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); |
| 4324 return i::GetScriptColumnNumber(script, func->shared()->start_position()); | 4337 return i::GetScriptColumnNumber(script, func->shared()->start_position()); |
| 4325 } | 4338 } |
| 4326 return kLineOffsetNotFound; | 4339 return kLineOffsetNotFound; |
| 4327 } | 4340 } |
| 4328 | 4341 |
| 4342 | |
| 4329 Handle<Value> Function::GetScriptId() const { | 4343 Handle<Value> Function::GetScriptId() const { |
| 4330 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); | 4344 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); |
| 4331 if (!func->shared()->script()->IsScript()) | 4345 if (!func->shared()->script()->IsScript()) |
| 4332 return v8::Undefined(); | 4346 return v8::Undefined(); |
| 4333 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); | 4347 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); |
| 4334 return Utils::ToLocal(i::Handle<i::Object>(script->id(), func->GetIsolate())); | 4348 return Utils::ToLocal(i::Handle<i::Object>(script->id(), func->GetIsolate())); |
| 4335 } | 4349 } |
| 4336 | 4350 |
| 4351 | |
| 4352 int Function::ScriptId() const { | |
| 4353 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); | |
| 4354 if (!func->shared()->script()->IsScript()) | |
| 4355 return i::Script::kNoScriptId; | |
|
yurys
2013/06/25 11:57:38
This should be a public constant.
Jakob Kummerow
2013/06/25 11:58:39
nit: {} please
loislo
2013/06/25 13:04:53
Done.
loislo
2013/06/25 13:04:53
Done.
| |
| 4356 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); | |
| 4357 return script->id()->value(); | |
| 4358 } | |
| 4359 | |
| 4360 | |
| 4337 int String::Length() const { | 4361 int String::Length() const { |
| 4338 i::Handle<i::String> str = Utils::OpenHandle(this); | 4362 i::Handle<i::String> str = Utils::OpenHandle(this); |
| 4339 if (IsDeadCheck(str->GetIsolate(), "v8::String::Length()")) return 0; | 4363 if (IsDeadCheck(str->GetIsolate(), "v8::String::Length()")) return 0; |
| 4340 return str->length(); | 4364 return str->length(); |
| 4341 } | 4365 } |
| 4342 | 4366 |
| 4343 | 4367 |
| 4344 bool String::IsOneByte() const { | 4368 bool String::IsOneByte() const { |
| 4345 i::Handle<i::String> str = Utils::OpenHandle(this); | 4369 i::Handle<i::String> str = Utils::OpenHandle(this); |
| 4346 if (IsDeadCheck(str->GetIsolate(), "v8::String::IsOneByte()")) { | 4370 if (IsDeadCheck(str->GetIsolate(), "v8::String::IsOneByte()")) { |
| (...skipping 3611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7958 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); | 7982 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); |
| 7959 Address callback_address = | 7983 Address callback_address = |
| 7960 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 7984 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |
| 7961 VMState<EXTERNAL> state(isolate); | 7985 VMState<EXTERNAL> state(isolate); |
| 7962 ExternalCallbackScope call_scope(isolate, callback_address); | 7986 ExternalCallbackScope call_scope(isolate, callback_address); |
| 7963 return callback(info); | 7987 return callback(info); |
| 7964 } | 7988 } |
| 7965 | 7989 |
| 7966 | 7990 |
| 7967 } } // namespace v8::internal | 7991 } } // namespace v8::internal |
| OLD | NEW |