Closed Bug 1003056 Opened 7 years ago Closed 7 years ago

Tracelogger: Log the lowering, generating code.

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla32

People

(Reporter: h4writer, Assigned: h4writer)

Details

Attachments

(1 file)

No description provided.
Attached patch PatchSplinter Review
I only did the MIR passes last time. So now also log the LIR and codegenerator. To get them visible on tl-beta
Assignee: nobody → hv1989
Attachment #8414351 - Flags: review?(benj)
Comment on attachment 8414351 [details] [diff] [review]
Patch

Review of attachment 8414351 [details] [diff] [review]:
-----------------------------------------------------------------

Nice, thanks!

::: js/src/jit/Ion.cpp
@@ +1556,5 @@
> +    {
> +        AutoTraceLog log(logger, TraceLogger::GenerateLIR);
> +        if (!lirgen.generate())
> +            return nullptr;
> +        IonSpewPass("Generate LIR");

For more precision, I wouldn't record the spewing pass nor the shouldCancel check (i/o accesses can take time).

@@ +1565,4 @@
>  
>      AllocationIntegrityState integrity(*lir);
>  
> +    TraceLogStartEvent(logger, TraceLogger::RegisterAllocation);

For this case, we will also do all debug checks during tracelogging, so we're not logging only register allocation per se. Not sure it really matters, cause do we really want to tracelog in debug mode anyway, heh?

@@ +1635,5 @@
> +        // Now that all optimization and register allocation is done, re-introduce
> +        // critical edges to avoid unnecessary jumps.
> +        if (!UnsplitEdges(lir))
> +            return nullptr;
> +        IonSpewPass("Unsplit Critical Edges");

Same here. In debug mode in particular, AssertBasicGraphCoherency takes so much time it's disabled for some heavyweight tests, but once again, it's debug mode.
Attachment #8414351 - Flags: review?(benj) → review+
https://hg.mozilla.org/mozilla-central/rev/6c9e1af09bae
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in before you can comment on or make changes to this bug.