Getting data on the state of the JSC Heap at runtime is currently in a sad state. The OBJECT_MARK_LOGGING macro enables some basic GC logging, but it requires a full recompile to turn it on. It would be nice if we could runtime enable our GC logging infrastructure while incurring minimal cost when it is disabled. It would also be nice to get a complete view of the Heap. Currently OBJECT_MARK_LOGGING provides us with the discovered roots along with parent-child relationships as objects are scanned. However, once an object is scanned it will never be declared as the child of another object during that collection. This gives us a tree-like view of the Heap (i.e. each scanned node only reports having a single parent), where the actual Heap is an arbitrary graph.
Created attachment 228631 [details] Patch
Attachment 228631 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/runtime/Options.h:307: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 1 in 18 files If any of these errors are false positives, please file a bug against check-webkit-style.
(In reply to comment #2) > Attachment 228631 [details] did not pass style-queue: > > > ERROR: Source/JavaScriptCore/runtime/Options.h:307: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] > Total errors found: 1 in 18 files > > > If any of these errors are false positives, please file a bug against check-webkit-style. This is a constraint of our Options work (e.g. see OptionRange/optionRangeType).
> This is a constraint of our Options work (e.g. see OptionRange/optionRangeType). ..of how our Options work...
Comment on attachment 228631 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=228631&action=review r=me > Source/JavaScriptCore/heap/GCLogging.cpp:106 > + loggingFunctor.reviveCells(); If the revive call here is required in order to return the heap to a good state, then I think either LoggingFunctor::log() or LoggingFunctor::~LoggingFunctor() should do it automatically.
Created attachment 228632 [details] Patch
Attachment 228632 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/runtime/Options.h:307: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 1 in 18 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 228633 [details] fix ports
Attachment 228633 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/runtime/Options.h:307: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 1 in 21 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 228637 [details] fix ports
Attachment 228637 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/runtime/Options.h:307: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 1 in 21 files If any of these errors are false positives, please file a bug against check-webkit-style.
Committed r166837: <http://trac.webkit.org/changeset/166837>
(In reply to comment #12) > Committed r166837: <http://trac.webkit.org/changeset/166837> Followup fix in http://trac.webkit.org/changeset/166838
Comment on attachment 228637 [details] fix ports Clearing review flag.