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

Side by Side Diff: src/heap-snapshot-generator.cc

Issue 138443009: Mark weak fields of JSArrayBuffer and JSArrayBufferView as weak in heap snapshot. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Added a test. 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 | « no previous file | test/cctest/test-heap-profiler.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 GlobalObject* global_obj = GlobalObject::cast(obj); 1123 GlobalObject* global_obj = GlobalObject::cast(obj);
1124 SetInternalReference(global_obj, entry, 1124 SetInternalReference(global_obj, entry,
1125 "builtins", global_obj->builtins(), 1125 "builtins", global_obj->builtins(),
1126 GlobalObject::kBuiltinsOffset); 1126 GlobalObject::kBuiltinsOffset);
1127 SetInternalReference(global_obj, entry, 1127 SetInternalReference(global_obj, entry,
1128 "native_context", global_obj->native_context(), 1128 "native_context", global_obj->native_context(),
1129 GlobalObject::kNativeContextOffset); 1129 GlobalObject::kNativeContextOffset);
1130 SetInternalReference(global_obj, entry, 1130 SetInternalReference(global_obj, entry,
1131 "global_receiver", global_obj->global_receiver(), 1131 "global_receiver", global_obj->global_receiver(),
1132 GlobalObject::kGlobalReceiverOffset); 1132 GlobalObject::kGlobalReceiverOffset);
1133 } else if (obj->IsJSArrayBufferView()) {
1134 JSArrayBufferView* view = JSArrayBufferView::cast(obj);
1135 SetInternalReference(view, entry, "buffer", view->buffer(),
1136 JSArrayBufferView::kBufferOffset);
1137 SetWeakReference(view, entry, 1, view->weak_next(),
1138 JSArrayBufferView::kWeakNextOffset);
1139 } else if (obj->IsJSArrayBuffer()) {
1140 JSArrayBuffer* buffer = JSArrayBuffer::cast(obj);
1141 SetWeakReference(buffer, entry, 1, buffer->weak_next(),
1142 JSArrayBuffer::kWeakNextOffset);
1143 SetWeakReference(buffer, entry, 2, buffer->weak_first_view(),
1144 JSArrayBuffer::kWeakFirstViewOffset);
1133 } 1145 }
1134 TagObject(js_obj->properties(), "(object properties)"); 1146 TagObject(js_obj->properties(), "(object properties)");
1135 SetInternalReference(obj, entry, 1147 SetInternalReference(obj, entry,
1136 "properties", js_obj->properties(), 1148 "properties", js_obj->properties(),
1137 JSObject::kPropertiesOffset); 1149 JSObject::kPropertiesOffset);
1138 TagObject(js_obj->elements(), "(object elements)"); 1150 TagObject(js_obj->elements(), "(object elements)");
1139 SetInternalReference(obj, entry, 1151 SetInternalReference(obj, entry,
1140 "elements", js_obj->elements(), 1152 "elements", js_obj->elements(),
1141 JSObject::kElementsOffset); 1153 JSObject::kElementsOffset);
1142 } 1154 }
(...skipping 1811 matching lines...) Expand 10 before | Expand all | Expand 10 after
2954 writer_->AddString("\"<dummy>\""); 2966 writer_->AddString("\"<dummy>\"");
2955 for (int i = 1; i < sorted_strings.length(); ++i) { 2967 for (int i = 1; i < sorted_strings.length(); ++i) {
2956 writer_->AddCharacter(','); 2968 writer_->AddCharacter(',');
2957 SerializeString(sorted_strings[i]); 2969 SerializeString(sorted_strings[i]);
2958 if (writer_->aborted()) return; 2970 if (writer_->aborted()) return;
2959 } 2971 }
2960 } 2972 }
2961 2973
2962 2974
2963 } } // namespace v8::internal 2975 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | test/cctest/test-heap-profiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698