Closed Bug 918278 Opened 11 years ago Closed 11 years ago

IonMonkey: Enable recompile of script without invalidation

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla29

People

(Reporter: h4writer, Assigned: h4writer)

References

Details

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.
Blocks: 911738
Depends on: 928889
Depends on: 928914
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...
Blocks: 939614
This is now possible and works. I.e. we now recompile without invalidating on osrpc mismatch.
Status: NEW → RESOLVED
Closed: 11 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.