OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // | 2 // |
3 // Tests for heap profiler | 3 // Tests for heap profiler |
4 | 4 |
5 #include <ctype.h> | 5 #include <ctype.h> |
6 | 6 |
7 #include "v8.h" | 7 #include "v8.h" |
8 | 8 |
9 #include "cctest.h" | 9 #include "cctest.h" |
10 #include "hashmap.h" | 10 #include "hashmap.h" |
(...skipping 1652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1663 TEST(MapHasDescriptorsAndTransitions) { | 1663 TEST(MapHasDescriptorsAndTransitions) { |
1664 v8::HandleScope scope; | 1664 v8::HandleScope scope; |
1665 LocalContext env; | 1665 LocalContext env; |
1666 CompileRun("obj = { a: 10 };\n"); | 1666 CompileRun("obj = { a: 10 };\n"); |
1667 const v8::HeapSnapshot* snapshot = | 1667 const v8::HeapSnapshot* snapshot = |
1668 v8::HeapProfiler::TakeSnapshot(v8_str("snapshot")); | 1668 v8::HeapProfiler::TakeSnapshot(v8_str("snapshot")); |
1669 const v8::HeapGraphNode* global = GetGlobalObject(snapshot); | 1669 const v8::HeapGraphNode* global = GetGlobalObject(snapshot); |
1670 const v8::HeapGraphNode* global_object = | 1670 const v8::HeapGraphNode* global_object = |
1671 GetProperty(global, v8::HeapGraphEdge::kProperty, "obj"); | 1671 GetProperty(global, v8::HeapGraphEdge::kProperty, "obj"); |
1672 CHECK_NE(NULL, global_object); | 1672 CHECK_NE(NULL, global_object); |
1673 | |
1674 const v8::HeapGraphNode* map = | 1673 const v8::HeapGraphNode* map = |
1675 GetProperty(global_object, v8::HeapGraphEdge::kInternal, "map"); | 1674 GetProperty(global_object, v8::HeapGraphEdge::kInternal, "map"); |
1676 CHECK_NE(NULL, map); | 1675 CHECK_NE(NULL, map); |
1677 const v8::HeapGraphNode* own_descriptors = GetProperty( | 1676 const v8::HeapGraphNode* descriptors = |
1678 map, v8::HeapGraphEdge::kInternal, "descriptors"); | 1677 GetProperty(map, v8::HeapGraphEdge::kInternal, "descriptors"); |
1679 CHECK_EQ(NULL, own_descriptors); | |
1680 const v8::HeapGraphNode* own_transitions = GetProperty( | |
1681 map, v8::HeapGraphEdge::kInternal, "transitions"); | |
1682 CHECK_EQ(NULL, own_transitions); | |
1683 | |
1684 const v8::HeapGraphNode* back_pointer_map = | |
1685 GetProperty(map, v8::HeapGraphEdge::kInternal, "backpointer"); | |
1686 CHECK_NE(NULL, back_pointer_map); | |
1687 const v8::HeapGraphNode* descriptors = GetProperty( | |
1688 back_pointer_map, v8::HeapGraphEdge::kInternal, "descriptors"); | |
1689 CHECK_NE(NULL, descriptors); | 1678 CHECK_NE(NULL, descriptors); |
1690 const v8::HeapGraphNode* transitions = GetProperty( | 1679 const v8::HeapGraphNode* transitions = |
1691 back_pointer_map, v8::HeapGraphEdge::kInternal, "transitions"); | 1680 GetProperty(map, v8::HeapGraphEdge::kInternal, "transitions"); |
1692 CHECK_NE(NULL, transitions); | 1681 CHECK_NE(NULL, transitions); |
1693 } | 1682 } |
OLD | NEW |