Open
Bug 1514284
Opened 6 years ago
Updated 2 years ago
Add bytecode counters to estimate the speed of execution of Interpreters / Baseline / IonMonkey.
Categories
(Core :: JavaScript Engine: JIT, enhancement, P2)
Core
JavaScript Engine: JIT
Tracking
()
NEW
Tracking | Status | |
---|---|---|
firefox66 | --- | fix-optional |
People
(Reporter: nbp, Unassigned)
References
(Blocks 1 open bug)
Details
Currently we have use-count metrics that we rely on to decide when we should enter Baseline and IonMonkey. These metrics are not good for reporting to the profiler as these counters are being reset when we fallback.
Also, the use-count fails to consider the length of the loops which are being executed. This is ok when there is only a single loop in a function body, but this is not ok when you have multiple loops.
For profiling purposes, I suggest to add/change our counters to count the numbers of bytes our interpreter is executing.
I suggest to proceed as follow, by adding the number of bytes the current block contains when evaluating a JSOP_JUMPTARGET opcode. Then we can mirror this numbers in both Baseline and IonMonkey. Unfortunately, this might prevent a few IonMonkey optimizations, and therefore slowing it down a bit, but this should not be a big issue.
On exceptions, we would have to remove the number of bytes which were not executed from the given counter.
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
status-firefox66:
--- → fix-optional
Priority: -- → P2
Comment 1•6 years ago
|
||
Can i work on this ? I have been studying compiler design in my class and fixing some bugs in servo and jit.That got me excited to study this issue.Let me know on which irc you people work on .
Comment 2•6 years ago
|
||
We should hold off on this at least until bug 1499324 is fixed because that will change things in this area.
You can find us in #jsapi or #ionmonkey on Mozilla's IRC network (need to register your username to join #jsapi).
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•