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

Side by Side Diff: test/cctest/test-heap-profiler.cc

Issue 136113007: Mark next_code_link as weak in heap profiler. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 11 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 | « src/heap-snapshot-generator.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 CHECK_EQ("", *anonymous_name); 337 CHECK_EQ("", *anonymous_name);
338 338
339 // Find references to code. 339 // Find references to code.
340 const v8::HeapGraphNode* compiled_code = 340 const v8::HeapGraphNode* compiled_code =
341 GetProperty(compiled, v8::HeapGraphEdge::kInternal, "shared"); 341 GetProperty(compiled, v8::HeapGraphEdge::kInternal, "shared");
342 CHECK_NE(NULL, compiled_code); 342 CHECK_NE(NULL, compiled_code);
343 const v8::HeapGraphNode* lazy_code = 343 const v8::HeapGraphNode* lazy_code =
344 GetProperty(lazy, v8::HeapGraphEdge::kInternal, "shared"); 344 GetProperty(lazy, v8::HeapGraphEdge::kInternal, "shared");
345 CHECK_NE(NULL, lazy_code); 345 CHECK_NE(NULL, lazy_code);
346 346
347 // Check that there's no strong next_code_link. There might be a weak one
348 // but might be not, so we can't check that fact.
349 const v8::HeapGraphNode* code =
350 GetProperty(compiled_code, v8::HeapGraphEdge::kInternal, "code");
yurys 2014/01/27 15:50:57 Can we force presence of the weak link in the test
alph 2014/01/29 13:41:33 I'm not sure how to do that. Once I find a way, I'
351 CHECK_NE(NULL, code);
352 const v8::HeapGraphNode* next_code_link =
353 GetProperty(code, v8::HeapGraphEdge::kInternal, "code");
354 CHECK_EQ(NULL, next_code_link);
355
347 // Verify that non-compiled code doesn't contain references to "x" 356 // Verify that non-compiled code doesn't contain references to "x"
348 // literal, while compiled code does. The scope info is stored in FixedArray 357 // literal, while compiled code does. The scope info is stored in FixedArray
349 // objects attached to the SharedFunctionInfo. 358 // objects attached to the SharedFunctionInfo.
350 bool compiled_references_x = false, lazy_references_x = false; 359 bool compiled_references_x = false, lazy_references_x = false;
351 for (int i = 0, count = compiled_code->GetChildrenCount(); i < count; ++i) { 360 for (int i = 0, count = compiled_code->GetChildrenCount(); i < count; ++i) {
352 const v8::HeapGraphEdge* prop = compiled_code->GetChild(i); 361 const v8::HeapGraphEdge* prop = compiled_code->GetChild(i);
353 const v8::HeapGraphNode* node = prop->GetToNode(); 362 const v8::HeapGraphNode* node = prop->GetToNode();
354 if (node->GetType() == v8::HeapGraphNode::kArray) { 363 if (node->GetType() == v8::HeapGraphNode::kArray) {
355 if (HasString(node, "x")) { 364 if (HasString(node, "x")) {
356 compiled_references_x = true; 365 compiled_references_x = true;
(...skipping 1976 matching lines...) Expand 10 before | Expand all | Expand 10 after
2333 const v8::HeapGraphNode* arr1_obj = 2342 const v8::HeapGraphNode* arr1_obj =
2334 GetProperty(global, v8::HeapGraphEdge::kProperty, "arr1"); 2343 GetProperty(global, v8::HeapGraphEdge::kProperty, "arr1");
2335 CHECK_NE(NULL, arr1_obj); 2344 CHECK_NE(NULL, arr1_obj);
2336 const v8::HeapGraphNode* arr1_buffer = 2345 const v8::HeapGraphNode* arr1_buffer =
2337 GetProperty(arr1_obj, v8::HeapGraphEdge::kInternal, "buffer"); 2346 GetProperty(arr1_obj, v8::HeapGraphEdge::kInternal, "buffer");
2338 CHECK_NE(NULL, arr1_buffer); 2347 CHECK_NE(NULL, arr1_buffer);
2339 const v8::HeapGraphNode* first_view = 2348 const v8::HeapGraphNode* first_view =
2340 GetProperty(arr1_buffer, v8::HeapGraphEdge::kWeak, "weak_first_view"); 2349 GetProperty(arr1_buffer, v8::HeapGraphEdge::kWeak, "weak_first_view");
2341 CHECK_NE(NULL, first_view); 2350 CHECK_NE(NULL, first_view);
2342 } 2351 }
OLDNEW
« no previous file with comments | « src/heap-snapshot-generator.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698