IonMonkey: Enable recompile of script without invalidation

RESOLVED FIXED in mozilla29

Status

()

Core
JavaScript Engine
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: h4writer, Assigned: h4writer)

Tracking

unspecified
mozilla29
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Assignee)

Description

4 years ago
For bug 911738 it needs to be possible to request a recompile, without throwing the script away. This is because in the recompile we want to inline more functions, but the old script is not incorrect. So can be used and run until the new recompilation is finished and replaces the current script.

Without this bug 911738 improves richards, but decreases performance of raytrace, since we are longer stuck in baseline during compilation. This would also make the proposed second solution in bug 911738 more feasible.
(Assignee)

Updated

4 years ago
Blocks: 911738
(Assignee)

Updated

4 years ago
Depends on: 928889
(Assignee)

Updated

4 years ago
Depends on: 928914
(Assignee)

Comment 1

4 years ago
So I created a dummy "recompile without invalidation", just enough to test this claim. With bug 911738 applied I still see the improvement, but we don't have the loss on raytrace anymore \0/. (maybe 0%-1% regression).

Since we need a more robust system and want to handle more cases, I'll improve this patch and also do some research on what is feasible, what works and what not and post the numbers. I also want to try the "Don't inline immediatly idea.". So I'll implement "optimization levels" so we can play with this a bit more.

Also we need to figure out what to do when "offthread compiler" isn't available... Since all these ideas will give most boost in that configuration. But somehow we shouldn't regress without it too much...
(Assignee)

Updated

4 years ago
Blocks: 939614
(Assignee)

Comment 2

4 years ago
This is now possible and works. I.e. we now recompile without invalidating on osrpc mismatch.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Assignee: general → hv1989
Target Milestone: --- → mozilla29
You need to log in before you can comment on or make changes to this bug.