Closed Bug 1123576 Opened 9 years ago Closed 9 years ago

Measure TypeNewScript in the JS memory reporter

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla38

People

(Reporter: n.nethercote, Assigned: n.nethercote)

Details

Attachments

(1 file)

In a DMD run I did for bug 1123472 I saw that TypeNewScript's members don't get
reported:

> Unreported {
>   ~744 blocks in heap block record 2 of 1,792
>   ~3,045,192 bytes (~3,045,192 requested / ~0 slop)
>   Individual block sizes: ~4,093 x 744
>   0.55% of the heap (2.08% cumulative)
>   6.08% of unreported (22.82% cumulative)
>   Allocated at {
>     #01: replace_calloc (/home/njn/moz/mi4/o64dmd/memory/replace/dmd/../../../../memory/replace/dmd/DMD.cpp:1254)
>     #02: js::PlainObject** js_pod_calloc<js::PlainObject*>(unsigned long) (/home/njn/moz/mi4/o64dmd/js/src/../../dist/include/js/Utility.h:576)
>     #03: js::types::TypeNewScript::make(JSContext*, js::types::TypeObject*, JSFunction*) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/jsinfer.cpp:3793)
>     #04: js::ExclusiveContext::getNewType(js::Class const*, js::TaggedProto, JSObject*) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/jsinfer.cpp:4506)
>     #05: js::CreateThisForFunctionWithProto(JSContext*, JS::Handle<JSObject*>, JSObject*, js::NewObjectKind) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/jsobj.cpp:1568)
>     #06: js::CreateThisForFunction(JSContext*, JS::Handle<JSObject*>, js::NewObjectKind) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/jsobj.cpp:1613)
>     #07: js::RunState::maybeCreateThisForConstructor(JSContext*) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/vm/Interpreter.cpp:384)
>     #08: js::jit::CanEnter(JSContext*, js::RunState&) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/jit/Ion.cpp:2117)
>   }
> }
> 
> Unreported {
>   ~26 blocks in heap block record 69 of 1,792
>   ~106,418 bytes (~106,418 requested / ~0 slop)
>   Individual block sizes: ~4,093 x 26
>   0.02% of the heap (5.74% cumulative)
>   0.21% of unreported (63.05% cumulative)
>   Allocated at {
>     #01: replace_calloc (/home/njn/moz/mi4/o64dmd/memory/replace/dmd/../../../../memory/replace/dmd/DMD.cpp:1254)
>     #02: js::types::TypeNewScript::Initializer* js_pod_calloc<js::types::TypeNewScript::Initializer>(unsigned long) (/home/njn/moz/mi4/o64dmd/js/src/../../dist/include/js/Utility.h:576)
>     #03: js::types::TypeNewScript::maybeAnalyze(JSContext*, js::types::TypeObject*, bool*, bool) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/jsinfer.cpp:4063)
>     #04: js::CreateThisForFunctionWithProto(JSContext*, JS::Handle<JSObject*>, JSObject*, js::NewObjectKind) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/jsobj.cpp:1575)
>     #05: js::CreateThisForFunction(JSContext*, JS::Handle<JSObject*>, js::NewObjectKind) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/jsobj.cpp:1613)
>     #06: js::jit::TryAttachCallStub(JSContext*, js::jit::ICCall_Fallback*, JS::Handle<JSScript*>, unsigned char*, JSOp, unsigned int, JS::Value*, bool, bool, bool) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/jit/BaselineIC.cpp:9259)
>     #07: js::jit::DoCallFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICCall_Fallback*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>) (/home/njn/moz/mi4/o64dmd/js/src/../../../js/src/jit/BaselineIC.cpp:9471)
>     #08: ??? (???:???)
>   }
> }

We should add them.
Attachment #8551656 - Flags: review?(bhackett1024) → review+
https://hg.mozilla.org/mozilla-central/rev/ee32eb6fd6a8
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: