Closed Bug 710055 Opened 14 years ago Closed 14 years ago

Merge PushActiveVMFrame and SetVMFrameRegs

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla12

People

(Reporter: sfink, Assigned: sfink)

Details

Attachments

(1 file, 2 obsolete files)

As far as I can tell, SetVMFrameRegs is always called immediately after PushActiveVMFrame, and only then. So they can be merged. (This also eliminates a state where a StackSegment's regs points to garbage until it gets fixed at the end of EnterMethodJIT, which is only observable from a signal handler.)
Patch delayed by fire alarm :)
Attachment #581143 - Flags: review?(bhackett1024)
Comment on attachment 581143 [details] [diff] [review] Merge PushActiveVMFrame, SetVMFrameRegs Review of attachment 581143 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/methodjit/MethodJIT.cpp @@ +154,5 @@ > extern "C" void JS_FASTCALL > PopActiveVMFrame(VMFrame &f) > { > f.entryfp->script()->compartment()->jaegerCompartment()->popActiveFrame(); > + f.cx->stack.repointRegs(f.oldregs); Can you add back SetVMFrameRegs but make it a no-op? There are a bunch of other trampolines in js/src/methodjit .asm and .s files for Tier 2 platforms which will be broken by this change, but if SetVMFrameRegs is still there then they will work without needing to be changed. Alternatively you can fix the trampolines in the other files, but I don't know how straightforward that is (I try to avoid changing the trampolines unless absolutely necessary because of the headache of updating all of them).
Attachment #581143 - Flags: review?(bhackett1024) → review+
Attached file Mer (obsolete) —
Oh, sorry, that's what I missed. I just grepped for *.h *.cpp. Forgot about *.s and *.asm. Here's an updated patch carrying over the r+, but with updates for the other architectures. My apologies in advance if I broke any of them, but this particular change seemed pretty straightforward. (stupid bugzilla/firefox autocomplete UX failure caused me to submit this prematurely)
Assignee: general → sphink
Attachment #581143 - Attachment is obsolete: true
Attachment #581322 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #581325 - Flags: review+
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla12
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: