Closed Bug 1499649 Opened 6 years ago Closed 6 years ago

Stop using (fake) ICEntries for VM calls

Categories

(Core :: JavaScript Engine: JIT, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla65
Tracking Status
firefox65 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(1 file)

Baseline uses a fake ICEntry (with nullptr stub) for callVM and some other non-IC things. This has always been a bit of a hack - for bug 1499644 we need to split ICEntry in ICEntry and a new kind of entry that's used for the pc/return address mapping (ICs would use one of each). (This is also nice for cache locality because it will shrink ICEntry a bit.)
The return address/offset is no longer stored in ICEntry but in VMCallEntry. ICEntry now only stores IC-related fields. As a follow-up I think we should get rid of ICEntry::isForOp_ but this patch is big enough as it is.
Comment on attachment 9017805 [details] Bug 1499649 - Split ICEntry in ICEntry and RetAddrEntry, get rid of fake ICEntries. r?tcampbell Iain, since you've been spelunking around in the DebugOSR code around fake ICEntries, do you have any comments on this approach? Does it make sense with the Generator issues you are looking at?
Attachment #9017805 - Flags: feedback?(iireland)
While making essentially the same change to generalize callVMEntryFromPCOffset, I noticed that it would not do the right thing for kinds that can have more than one entry per pc. This patch has the same problem. I left a comment in the review. Other than that, this looks good and would have saved me a lot of work yesterday.
Attachment #9017805 - Flags: feedback?(iireland)
Attachment #9017805 - Attachment description: Bug 1499649 - Split ICEntry in ICEntry and VMCallEntry, get rid of fake ICEntries. r?tcampbell → Bug 1499649 - Split ICEntry in ICEntry and RetAddrEntry, get rid of fake ICEntries. r?tcampbell
Pushed by jandemooij@gmail.com: https://hg.mozilla.org/integration/autoland/rev/daf8a3b98eee Split ICEntry in ICEntry and RetAddrEntry, get rid of fake ICEntries. r=tcampbell
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Depends on: 1502611
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: