Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Side by Side Diff: src/api.cc

Issue 24508006: remove uses of static oddball accessors using GetCurrent in advance of removal from api (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: nits Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « samples/lineprocessor.cc ('k') | src/debug.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 992 matching lines...) Expand 10 before | Expand all | Expand 10 after
1003 i::Handle<i::FunctionTemplateInfo>::cast(struct_obj); 1003 i::Handle<i::FunctionTemplateInfo>::cast(struct_obj);
1004 InitializeFunctionTemplate(obj); 1004 InitializeFunctionTemplate(obj);
1005 obj->set_do_not_cache(do_not_cache); 1005 obj->set_do_not_cache(do_not_cache);
1006 int next_serial_number = 0; 1006 int next_serial_number = 0;
1007 if (!do_not_cache) { 1007 if (!do_not_cache) {
1008 next_serial_number = isolate->next_serial_number() + 1; 1008 next_serial_number = isolate->next_serial_number() + 1;
1009 isolate->set_next_serial_number(next_serial_number); 1009 isolate->set_next_serial_number(next_serial_number);
1010 } 1010 }
1011 obj->set_serial_number(i::Smi::FromInt(next_serial_number)); 1011 obj->set_serial_number(i::Smi::FromInt(next_serial_number));
1012 if (callback != 0) { 1012 if (callback != 0) {
1013 if (data.IsEmpty()) data = v8::Undefined(); 1013 if (data.IsEmpty()) {
1014 data = v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate));
1015 }
1014 Utils::ToLocal(obj)->SetCallHandler(callback, data); 1016 Utils::ToLocal(obj)->SetCallHandler(callback, data);
1015 } 1017 }
1016 obj->set_length(length); 1018 obj->set_length(length);
1017 obj->set_undetectable(false); 1019 obj->set_undetectable(false);
1018 obj->set_needs_access_check(false); 1020 obj->set_needs_access_check(false);
1019 if (!signature.IsEmpty()) 1021 if (!signature.IsEmpty())
1020 obj->set_signature(*Utils::OpenHandle(*signature)); 1022 obj->set_signature(*Utils::OpenHandle(*signature));
1021 return Utils::ToLocal(obj); 1023 return Utils::ToLocal(obj);
1022 } 1024 }
1023 1025
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
1227 void FunctionTemplate::SetCallHandler(FunctionCallback callback, 1229 void FunctionTemplate::SetCallHandler(FunctionCallback callback,
1228 v8::Handle<Value> data) { 1230 v8::Handle<Value> data) {
1229 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); 1231 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
1230 ENTER_V8(isolate); 1232 ENTER_V8(isolate);
1231 i::HandleScope scope(isolate); 1233 i::HandleScope scope(isolate);
1232 i::Handle<i::Struct> struct_obj = 1234 i::Handle<i::Struct> struct_obj =
1233 isolate->factory()->NewStruct(i::CALL_HANDLER_INFO_TYPE); 1235 isolate->factory()->NewStruct(i::CALL_HANDLER_INFO_TYPE);
1234 i::Handle<i::CallHandlerInfo> obj = 1236 i::Handle<i::CallHandlerInfo> obj =
1235 i::Handle<i::CallHandlerInfo>::cast(struct_obj); 1237 i::Handle<i::CallHandlerInfo>::cast(struct_obj);
1236 SET_FIELD_WRAPPED(obj, set_callback, callback); 1238 SET_FIELD_WRAPPED(obj, set_callback, callback);
1237 if (data.IsEmpty()) data = v8::Undefined(); 1239 if (data.IsEmpty()) {
1240 data = v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate));
1241 }
1238 obj->set_data(*Utils::OpenHandle(*data)); 1242 obj->set_data(*Utils::OpenHandle(*data));
1239 Utils::OpenHandle(this)->set_call_code(*obj); 1243 Utils::OpenHandle(this)->set_call_code(*obj);
1240 } 1244 }
1241 1245
1242 1246
1243 static i::Handle<i::AccessorInfo> SetAccessorInfoProperties( 1247 static i::Handle<i::AccessorInfo> SetAccessorInfoProperties(
1244 i::Handle<i::AccessorInfo> obj, 1248 i::Handle<i::AccessorInfo> obj,
1245 v8::Handle<String> name, 1249 v8::Handle<String> name,
1246 v8::AccessControl settings, 1250 v8::AccessControl settings,
1247 v8::PropertyAttribute attributes, 1251 v8::PropertyAttribute attributes,
(...skipping 17 matching lines...) Expand all
1265 Setter setter, 1269 Setter setter,
1266 v8::Handle<Value> data, 1270 v8::Handle<Value> data,
1267 v8::AccessControl settings, 1271 v8::AccessControl settings,
1268 v8::PropertyAttribute attributes, 1272 v8::PropertyAttribute attributes,
1269 v8::Handle<AccessorSignature> signature) { 1273 v8::Handle<AccessorSignature> signature) {
1270 i::Isolate* isolate = Utils::OpenHandle(*name)->GetIsolate(); 1274 i::Isolate* isolate = Utils::OpenHandle(*name)->GetIsolate();
1271 i::Handle<i::ExecutableAccessorInfo> obj = 1275 i::Handle<i::ExecutableAccessorInfo> obj =
1272 isolate->factory()->NewExecutableAccessorInfo(); 1276 isolate->factory()->NewExecutableAccessorInfo();
1273 SET_FIELD_WRAPPED(obj, set_getter, getter); 1277 SET_FIELD_WRAPPED(obj, set_getter, getter);
1274 SET_FIELD_WRAPPED(obj, set_setter, setter); 1278 SET_FIELD_WRAPPED(obj, set_setter, setter);
1275 if (data.IsEmpty()) data = v8::Undefined(); 1279 if (data.IsEmpty()) {
1280 data = v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate));
1281 }
1276 obj->set_data(*Utils::OpenHandle(*data)); 1282 obj->set_data(*Utils::OpenHandle(*data));
1277 return SetAccessorInfoProperties(obj, name, settings, attributes, signature); 1283 return SetAccessorInfoProperties(obj, name, settings, attributes, signature);
1278 } 1284 }
1279 1285
1280 1286
1281 static i::Handle<i::AccessorInfo> MakeAccessorInfo( 1287 static i::Handle<i::AccessorInfo> MakeAccessorInfo(
1282 v8::Handle<String> name, 1288 v8::Handle<String> name,
1283 v8::Handle<v8::DeclaredAccessorDescriptor> descriptor, 1289 v8::Handle<v8::DeclaredAccessorDescriptor> descriptor,
1284 void* setter_ignored, 1290 void* setter_ignored,
1285 void* data_ignored, 1291 void* data_ignored,
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
1493 isolate->factory()->NewStruct(i::INTERCEPTOR_INFO_TYPE); 1499 isolate->factory()->NewStruct(i::INTERCEPTOR_INFO_TYPE);
1494 i::Handle<i::InterceptorInfo> obj = 1500 i::Handle<i::InterceptorInfo> obj =
1495 i::Handle<i::InterceptorInfo>::cast(struct_obj); 1501 i::Handle<i::InterceptorInfo>::cast(struct_obj);
1496 1502
1497 if (getter != 0) SET_FIELD_WRAPPED(obj, set_getter, getter); 1503 if (getter != 0) SET_FIELD_WRAPPED(obj, set_getter, getter);
1498 if (setter != 0) SET_FIELD_WRAPPED(obj, set_setter, setter); 1504 if (setter != 0) SET_FIELD_WRAPPED(obj, set_setter, setter);
1499 if (query != 0) SET_FIELD_WRAPPED(obj, set_query, query); 1505 if (query != 0) SET_FIELD_WRAPPED(obj, set_query, query);
1500 if (remover != 0) SET_FIELD_WRAPPED(obj, set_deleter, remover); 1506 if (remover != 0) SET_FIELD_WRAPPED(obj, set_deleter, remover);
1501 if (enumerator != 0) SET_FIELD_WRAPPED(obj, set_enumerator, enumerator); 1507 if (enumerator != 0) SET_FIELD_WRAPPED(obj, set_enumerator, enumerator);
1502 1508
1503 if (data.IsEmpty()) data = v8::Undefined(); 1509 if (data.IsEmpty()) {
1510 data = v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate));
1511 }
1504 obj->set_data(*Utils::OpenHandle(*data)); 1512 obj->set_data(*Utils::OpenHandle(*data));
1505 cons->set_named_property_handler(*obj); 1513 cons->set_named_property_handler(*obj);
1506 } 1514 }
1507 1515
1508 1516
1509 void ObjectTemplate::MarkAsUndetectable() { 1517 void ObjectTemplate::MarkAsUndetectable() {
1510 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); 1518 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
1511 ENTER_V8(isolate); 1519 ENTER_V8(isolate);
1512 i::HandleScope scope(isolate); 1520 i::HandleScope scope(isolate);
1513 EnsureConstructor(this); 1521 EnsureConstructor(this);
(...skipping 15 matching lines...) Expand all
1529 EnsureConstructor(this); 1537 EnsureConstructor(this);
1530 1538
1531 i::Handle<i::Struct> struct_info = 1539 i::Handle<i::Struct> struct_info =
1532 isolate->factory()->NewStruct(i::ACCESS_CHECK_INFO_TYPE); 1540 isolate->factory()->NewStruct(i::ACCESS_CHECK_INFO_TYPE);
1533 i::Handle<i::AccessCheckInfo> info = 1541 i::Handle<i::AccessCheckInfo> info =
1534 i::Handle<i::AccessCheckInfo>::cast(struct_info); 1542 i::Handle<i::AccessCheckInfo>::cast(struct_info);
1535 1543
1536 SET_FIELD_WRAPPED(info, set_named_callback, named_callback); 1544 SET_FIELD_WRAPPED(info, set_named_callback, named_callback);
1537 SET_FIELD_WRAPPED(info, set_indexed_callback, indexed_callback); 1545 SET_FIELD_WRAPPED(info, set_indexed_callback, indexed_callback);
1538 1546
1539 if (data.IsEmpty()) data = v8::Undefined(); 1547 if (data.IsEmpty()) {
1548 data = v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate));
1549 }
1540 info->set_data(*Utils::OpenHandle(*data)); 1550 info->set_data(*Utils::OpenHandle(*data));
1541 1551
1542 i::FunctionTemplateInfo* constructor = 1552 i::FunctionTemplateInfo* constructor =
1543 i::FunctionTemplateInfo::cast(Utils::OpenHandle(this)->constructor()); 1553 i::FunctionTemplateInfo::cast(Utils::OpenHandle(this)->constructor());
1544 i::Handle<i::FunctionTemplateInfo> cons(constructor); 1554 i::Handle<i::FunctionTemplateInfo> cons(constructor);
1545 cons->set_access_check_info(*info); 1555 cons->set_access_check_info(*info);
1546 cons->set_needs_access_check(turned_on_by_default); 1556 cons->set_needs_access_check(turned_on_by_default);
1547 } 1557 }
1548 1558
1549 1559
(...skipping 15 matching lines...) Expand all
1565 isolate->factory()->NewStruct(i::INTERCEPTOR_INFO_TYPE); 1575 isolate->factory()->NewStruct(i::INTERCEPTOR_INFO_TYPE);
1566 i::Handle<i::InterceptorInfo> obj = 1576 i::Handle<i::InterceptorInfo> obj =
1567 i::Handle<i::InterceptorInfo>::cast(struct_obj); 1577 i::Handle<i::InterceptorInfo>::cast(struct_obj);
1568 1578
1569 if (getter != 0) SET_FIELD_WRAPPED(obj, set_getter, getter); 1579 if (getter != 0) SET_FIELD_WRAPPED(obj, set_getter, getter);
1570 if (setter != 0) SET_FIELD_WRAPPED(obj, set_setter, setter); 1580 if (setter != 0) SET_FIELD_WRAPPED(obj, set_setter, setter);
1571 if (query != 0) SET_FIELD_WRAPPED(obj, set_query, query); 1581 if (query != 0) SET_FIELD_WRAPPED(obj, set_query, query);
1572 if (remover != 0) SET_FIELD_WRAPPED(obj, set_deleter, remover); 1582 if (remover != 0) SET_FIELD_WRAPPED(obj, set_deleter, remover);
1573 if (enumerator != 0) SET_FIELD_WRAPPED(obj, set_enumerator, enumerator); 1583 if (enumerator != 0) SET_FIELD_WRAPPED(obj, set_enumerator, enumerator);
1574 1584
1575 if (data.IsEmpty()) data = v8::Undefined(); 1585 if (data.IsEmpty()) {
1586 data = v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate));
1587 }
1576 obj->set_data(*Utils::OpenHandle(*data)); 1588 obj->set_data(*Utils::OpenHandle(*data));
1577 cons->set_indexed_property_handler(*obj); 1589 cons->set_indexed_property_handler(*obj);
1578 } 1590 }
1579 1591
1580 1592
1581 void ObjectTemplate::SetCallAsFunctionHandler(FunctionCallback callback, 1593 void ObjectTemplate::SetCallAsFunctionHandler(FunctionCallback callback,
1582 Handle<Value> data) { 1594 Handle<Value> data) {
1583 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); 1595 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
1584 ENTER_V8(isolate); 1596 ENTER_V8(isolate);
1585 i::HandleScope scope(isolate); 1597 i::HandleScope scope(isolate);
1586 EnsureConstructor(this); 1598 EnsureConstructor(this);
1587 i::FunctionTemplateInfo* constructor = i::FunctionTemplateInfo::cast( 1599 i::FunctionTemplateInfo* constructor = i::FunctionTemplateInfo::cast(
1588 Utils::OpenHandle(this)->constructor()); 1600 Utils::OpenHandle(this)->constructor());
1589 i::Handle<i::FunctionTemplateInfo> cons(constructor); 1601 i::Handle<i::FunctionTemplateInfo> cons(constructor);
1590 i::Handle<i::Struct> struct_obj = 1602 i::Handle<i::Struct> struct_obj =
1591 isolate->factory()->NewStruct(i::CALL_HANDLER_INFO_TYPE); 1603 isolate->factory()->NewStruct(i::CALL_HANDLER_INFO_TYPE);
1592 i::Handle<i::CallHandlerInfo> obj = 1604 i::Handle<i::CallHandlerInfo> obj =
1593 i::Handle<i::CallHandlerInfo>::cast(struct_obj); 1605 i::Handle<i::CallHandlerInfo>::cast(struct_obj);
1594 SET_FIELD_WRAPPED(obj, set_callback, callback); 1606 SET_FIELD_WRAPPED(obj, set_callback, callback);
1595 if (data.IsEmpty()) data = v8::Undefined(); 1607 if (data.IsEmpty()) {
1608 data = v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate));
1609 }
1596 obj->set_data(*Utils::OpenHandle(*data)); 1610 obj->set_data(*Utils::OpenHandle(*data));
1597 cons->set_instance_call_handler(*obj); 1611 cons->set_instance_call_handler(*obj);
1598 } 1612 }
1599 1613
1600 1614
1601 int ObjectTemplate::InternalFieldCount() { 1615 int ObjectTemplate::InternalFieldCount() {
1602 return i::Smi::cast(Utils::OpenHandle(this)->internal_field_count())->value(); 1616 return i::Smi::cast(Utils::OpenHandle(this)->internal_field_count())->value();
1603 } 1617 }
1604 1618
1605 1619
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
1690 name_obj = Utils::OpenHandle(*origin->ResourceName()); 1704 name_obj = Utils::OpenHandle(*origin->ResourceName());
1691 } 1705 }
1692 if (!origin->ResourceLineOffset().IsEmpty()) { 1706 if (!origin->ResourceLineOffset().IsEmpty()) {
1693 line_offset = static_cast<int>(origin->ResourceLineOffset()->Value()); 1707 line_offset = static_cast<int>(origin->ResourceLineOffset()->Value());
1694 } 1708 }
1695 if (!origin->ResourceColumnOffset().IsEmpty()) { 1709 if (!origin->ResourceColumnOffset().IsEmpty()) {
1696 column_offset = 1710 column_offset =
1697 static_cast<int>(origin->ResourceColumnOffset()->Value()); 1711 static_cast<int>(origin->ResourceColumnOffset()->Value());
1698 } 1712 }
1699 if (!origin->ResourceIsSharedCrossOrigin().IsEmpty()) { 1713 if (!origin->ResourceIsSharedCrossOrigin().IsEmpty()) {
1714 v8::Isolate* v8_isolate = reinterpret_cast<v8::Isolate*>(isolate);
1700 is_shared_cross_origin = 1715 is_shared_cross_origin =
1701 origin->ResourceIsSharedCrossOrigin() == v8::True(); 1716 origin->ResourceIsSharedCrossOrigin() == v8::True(v8_isolate);
1702 } 1717 }
1703 } 1718 }
1704 EXCEPTION_PREAMBLE(isolate); 1719 EXCEPTION_PREAMBLE(isolate);
1705 i::ScriptDataImpl* pre_data_impl = 1720 i::ScriptDataImpl* pre_data_impl =
1706 static_cast<i::ScriptDataImpl*>(pre_data); 1721 static_cast<i::ScriptDataImpl*>(pre_data);
1707 // We assert that the pre-data is sane, even though we can actually 1722 // We assert that the pre-data is sane, even though we can actually
1708 // handle it if it turns out not to be in release mode. 1723 // handle it if it turns out not to be in release mode.
1709 ASSERT(pre_data_impl == NULL || pre_data_impl->SanityCheck()); 1724 ASSERT(pre_data_impl == NULL || pre_data_impl->SanityCheck());
1710 // If the pre-data isn't sane we simply ignore it 1725 // If the pre-data isn't sane we simply ignore it
1711 if (pre_data_impl != NULL && !pre_data_impl->SanityCheck()) { 1726 if (pre_data_impl != NULL && !pre_data_impl->SanityCheck()) {
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
1936 1951
1937 1952
1938 bool v8::TryCatch::HasTerminated() const { 1953 bool v8::TryCatch::HasTerminated() const {
1939 return has_terminated_; 1954 return has_terminated_;
1940 } 1955 }
1941 1956
1942 1957
1943 v8::Handle<v8::Value> v8::TryCatch::ReThrow() { 1958 v8::Handle<v8::Value> v8::TryCatch::ReThrow() {
1944 if (!HasCaught()) return v8::Local<v8::Value>(); 1959 if (!HasCaught()) return v8::Local<v8::Value>();
1945 rethrow_ = true; 1960 rethrow_ = true;
1946 return v8::Undefined(); 1961 return v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate_));
1947 } 1962 }
1948 1963
1949 1964
1950 v8::Local<Value> v8::TryCatch::Exception() const { 1965 v8::Local<Value> v8::TryCatch::Exception() const {
1951 ASSERT(isolate_ == i::Isolate::Current()); 1966 ASSERT(isolate_ == i::Isolate::Current());
1952 if (HasCaught()) { 1967 if (HasCaught()) {
1953 // Check for out of memory exception. 1968 // Check for out of memory exception.
1954 i::Object* exception = reinterpret_cast<i::Object*>(exception_); 1969 i::Object* exception = reinterpret_cast<i::Object*>(exception_);
1955 return v8::Utils::ToLocal(i::Handle<i::Object>(exception, isolate_)); 1970 return v8::Utils::ToLocal(i::Handle<i::Object>(exception, isolate_));
1956 } else { 1971 } else {
(...skipping 2149 matching lines...) Expand 10 before | Expand all | Expand 10 after
4106 if (func->shared()->script()->IsScript()) { 4121 if (func->shared()->script()->IsScript()) {
4107 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); 4122 i::Handle<i::Script> script(i::Script::cast(func->shared()->script()));
4108 return i::GetScriptColumnNumber(script, func->shared()->start_position()); 4123 return i::GetScriptColumnNumber(script, func->shared()->start_position());
4109 } 4124 }
4110 return kLineOffsetNotFound; 4125 return kLineOffsetNotFound;
4111 } 4126 }
4112 4127
4113 4128
4114 Handle<Value> Function::GetScriptId() const { 4129 Handle<Value> Function::GetScriptId() const {
4115 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); 4130 i::Handle<i::JSFunction> func = Utils::OpenHandle(this);
4116 if (!func->shared()->script()->IsScript()) 4131 i::Isolate* isolate = func->GetIsolate();
4117 return v8::Undefined(); 4132 if (!func->shared()->script()->IsScript()) {
4133 return v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate));
4134 }
4118 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); 4135 i::Handle<i::Script> script(i::Script::cast(func->shared()->script()));
4119 return Utils::ToLocal(i::Handle<i::Object>(script->id(), func->GetIsolate())); 4136 return Utils::ToLocal(i::Handle<i::Object>(script->id(), isolate));
4120 } 4137 }
4121 4138
4122 4139
4123 int Function::ScriptId() const { 4140 int Function::ScriptId() const {
4124 i::Handle<i::JSFunction> func = Utils::OpenHandle(this); 4141 i::Handle<i::JSFunction> func = Utils::OpenHandle(this);
4125 if (!func->shared()->script()->IsScript()) return v8::Script::kNoScriptId; 4142 if (!func->shared()->script()->IsScript()) return v8::Script::kNoScriptId;
4126 i::Handle<i::Script> script(i::Script::cast(func->shared()->script())); 4143 i::Handle<i::Script> script(i::Script::cast(func->shared()->script()));
4127 return script->id()->value(); 4144 return script->id()->value();
4128 } 4145 }
4129 4146
(...skipping 2225 matching lines...) Expand 10 before | Expand all | Expand 10 after
6355 v8::Local<Value> Isolate::ThrowException(v8::Local<v8::Value> value) { 6372 v8::Local<Value> Isolate::ThrowException(v8::Local<v8::Value> value) {
6356 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this); 6373 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
6357 ENTER_V8(isolate); 6374 ENTER_V8(isolate);
6358 // If we're passed an empty handle, we throw an undefined exception 6375 // If we're passed an empty handle, we throw an undefined exception
6359 // to deal more gracefully with out of memory situations. 6376 // to deal more gracefully with out of memory situations.
6360 if (value.IsEmpty()) { 6377 if (value.IsEmpty()) {
6361 isolate->ScheduleThrow(isolate->heap()->undefined_value()); 6378 isolate->ScheduleThrow(isolate->heap()->undefined_value());
6362 } else { 6379 } else {
6363 isolate->ScheduleThrow(*Utils::OpenHandle(*value)); 6380 isolate->ScheduleThrow(*Utils::OpenHandle(*value));
6364 } 6381 }
6365 return v8::Undefined(); 6382 return v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate));
6366 } 6383 }
6367 6384
6368 6385
6369 void Isolate::SetObjectGroupId(const Persistent<Value>& object, 6386 void Isolate::SetObjectGroupId(const Persistent<Value>& object,
6370 UniqueId id) { 6387 UniqueId id) {
6371 i::Isolate* internal_isolate = reinterpret_cast<i::Isolate*>(this); 6388 i::Isolate* internal_isolate = reinterpret_cast<i::Isolate*>(this);
6372 internal_isolate->global_handles()->SetObjectGroupId( 6389 internal_isolate->global_handles()->SetObjectGroupId(
6373 Utils::OpenPersistent(object).location(), 6390 Utils::OpenPersistent(object).location(),
6374 id); 6391 id);
6375 } 6392 }
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
7106 case i::HeapGraphEdge::kShortcut: 7123 case i::HeapGraphEdge::kShortcut:
7107 return ToApiHandle<String>( 7124 return ToApiHandle<String>(
7108 isolate->factory()->InternalizeUtf8String(edge->name())); 7125 isolate->factory()->InternalizeUtf8String(edge->name()));
7109 case i::HeapGraphEdge::kElement: 7126 case i::HeapGraphEdge::kElement:
7110 case i::HeapGraphEdge::kHidden: 7127 case i::HeapGraphEdge::kHidden:
7111 case i::HeapGraphEdge::kWeak: 7128 case i::HeapGraphEdge::kWeak:
7112 return ToApiHandle<Number>( 7129 return ToApiHandle<Number>(
7113 isolate->factory()->NewNumberFromInt(edge->index())); 7130 isolate->factory()->NewNumberFromInt(edge->index()));
7114 default: UNREACHABLE(); 7131 default: UNREACHABLE();
7115 } 7132 }
7116 return v8::Undefined(); 7133 return v8::Undefined(reinterpret_cast<v8::Isolate*>(isolate));
7117 } 7134 }
7118 7135
7119 7136
7120 const HeapGraphNode* HeapGraphEdge::GetFromNode() const { 7137 const HeapGraphNode* HeapGraphEdge::GetFromNode() const {
7121 const i::HeapEntry* from = ToInternal(this)->from(); 7138 const i::HeapEntry* from = ToInternal(this)->from();
7122 return reinterpret_cast<const HeapGraphNode*>(from); 7139 return reinterpret_cast<const HeapGraphNode*>(from);
7123 } 7140 }
7124 7141
7125 7142
7126 const HeapGraphNode* HeapGraphEdge::GetToNode() const { 7143 const HeapGraphNode* HeapGraphEdge::GetToNode() const {
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
7549 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); 7566 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate());
7550 Address callback_address = 7567 Address callback_address =
7551 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); 7568 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback));
7552 VMState<EXTERNAL> state(isolate); 7569 VMState<EXTERNAL> state(isolate);
7553 ExternalCallbackScope call_scope(isolate, callback_address); 7570 ExternalCallbackScope call_scope(isolate, callback_address);
7554 callback(info); 7571 callback(info);
7555 } 7572 }
7556 7573
7557 7574
7558 } } // namespace v8::internal 7575 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « samples/lineprocessor.cc ('k') | src/debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698