| Index: src/profiler/heap-snapshot-generator.cc
|
| diff --git a/src/profiler/heap-snapshot-generator.cc b/src/profiler/heap-snapshot-generator.cc
|
| index fecde7400585721564e2883e5c1ade33100a1aaa..74e70ffd02765263f9a9663675f6fbe04230cef3 100644
|
| --- a/src/profiler/heap-snapshot-generator.cc
|
| +++ b/src/profiler/heap-snapshot-generator.cc
|
| @@ -1558,6 +1558,7 @@ void V8HeapExplorer::ExtractFixedArrayReferences(int entry, FixedArray* array) {
|
|
|
|
|
| void V8HeapExplorer::ExtractPropertyReferences(JSObject* js_obj, int entry) {
|
| + Isolate* isolate = js_obj->GetIsolate();
|
| if (js_obj->HasFastProperties()) {
|
| DescriptorArray* descs = js_obj->map()->instance_descriptors();
|
| int real_size = js_obj->map()->NumberOfOwnDescriptors();
|
| @@ -1591,7 +1592,7 @@ void V8HeapExplorer::ExtractPropertyReferences(JSObject* js_obj, int entry) {
|
| int length = dictionary->Capacity();
|
| for (int i = 0; i < length; ++i) {
|
| Object* k = dictionary->KeyAt(i);
|
| - if (dictionary->IsKey(k)) {
|
| + if (dictionary->IsKey(isolate, k)) {
|
| DCHECK(dictionary->ValueAt(i)->IsPropertyCell());
|
| PropertyCell* cell = PropertyCell::cast(dictionary->ValueAt(i));
|
| Object* value = cell->value();
|
| @@ -1605,7 +1606,7 @@ void V8HeapExplorer::ExtractPropertyReferences(JSObject* js_obj, int entry) {
|
| int length = dictionary->Capacity();
|
| for (int i = 0; i < length; ++i) {
|
| Object* k = dictionary->KeyAt(i);
|
| - if (dictionary->IsKey(k)) {
|
| + if (dictionary->IsKey(isolate, k)) {
|
| Object* value = dictionary->ValueAt(i);
|
| PropertyDetails details = dictionary->DetailsAt(i);
|
| SetDataOrAccessorPropertyReference(details.kind(), js_obj, entry,
|
| @@ -1635,13 +1636,14 @@ void V8HeapExplorer::ExtractAccessorPairProperty(JSObject* js_obj, int entry,
|
|
|
|
|
| void V8HeapExplorer::ExtractElementReferences(JSObject* js_obj, int entry) {
|
| + Isolate* isolate = js_obj->GetIsolate();
|
| if (js_obj->HasFastObjectElements()) {
|
| FixedArray* elements = FixedArray::cast(js_obj->elements());
|
| int length = js_obj->IsJSArray() ?
|
| Smi::cast(JSArray::cast(js_obj)->length())->value() :
|
| elements->length();
|
| for (int i = 0; i < length; ++i) {
|
| - if (!elements->get(i)->IsTheHole(heap_->isolate())) {
|
| + if (!elements->get(i)->IsTheHole(isolate)) {
|
| SetElementReference(js_obj, entry, i, elements->get(i));
|
| }
|
| }
|
| @@ -1650,7 +1652,7 @@ void V8HeapExplorer::ExtractElementReferences(JSObject* js_obj, int entry) {
|
| int length = dictionary->Capacity();
|
| for (int i = 0; i < length; ++i) {
|
| Object* k = dictionary->KeyAt(i);
|
| - if (dictionary->IsKey(heap_, k)) {
|
| + if (dictionary->IsKey(isolate, k)) {
|
| DCHECK(k->IsNumber());
|
| uint32_t index = static_cast<uint32_t>(k->Number());
|
| SetElementReference(js_obj, entry, index, dictionary->ValueAt(i));
|
|
|