Closed Bug 717297 Opened 14 years ago Closed 9 years ago

IonMonkey: simplify the frame descriptor concept

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: cdleary, Unassigned)

References

Details

(Whiteboard: [ion:t])

Attachments

(1 file)

The frame descriptor, at present, describes the framePushed_ amount, which generally includes locals and arguments. However, the callee token may or may not be present above it (on the x86 stack) based on whether this is a JS-to-JS or JS-to-VM call. This makes like difficult for things like the invalidator, which gains control from either of these transition points. This patch simplifies the concept of the frame descriptor to be the distance between the return addresses of frames, such that ((uint8 *) frame) + frame->frameSize() yields another (IonCommonFrameLayout *). The frame descriptor augments the framePushed_ amount appropriately at code generation time to account for the frame "prefix" fields that are also pushed onto the stack.
Assignee: cdleary → general
Whiteboard: [ion:t]
Assignee: general → nobody
See Also: → 1244215
Component: JavaScript Engine → JavaScript Engine: JIT
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: