Home | History | Annotate | Download | only in ia32

Lines Matching full:frame

41 // The virtual frame is an abstraction of the physical stack frame.  It
42 // encapsulates the parameters, frame-allocated locals, and the expression
49 // A utility class to introduce a scope where the virtual frame is
51 // generator's current frame, but no attempt is made to require it
58 cgen()->frame()->SpillAll();
72 // An illegal index into the virtual frame.
75 // Construct an initial virtual frame on entry to a JS function.
78 // Construct a virtual frame as a clone of an existing one.
85 // Create a duplicate of an existing valid frame element.
89 // The number of elements on the virtual frame.
118 // Add extra in-memory elements to the top of the frame to match an actual
119 // frame (eg, the frame after an exception handler is pushed). No code is
123 // Forget count elements from the top of the frame all in-memory
125 // match an external frame effect (examples include a call removing
135 // Forget count elements from the top of the frame without adjusting
140 // Spill all values from the frame to memory.
143 // Spill all occurrences of a specific register from the frame.
150 // (ie, they all have frame-external references).
156 // Make this frame so that an arbitrary frame of the same height can
157 // be merged to it. Copies and constants are removed from the frame.
160 // Prepare this virtual frame for merging to an expected frame by
165 // Make this virtual frame have a state identical to an expected virtual
166 // frame. As a side effect, code may be emitted to make this frame match
170 // Detach a frame from its code generator, perhaps temporarily. This
171 // tells the register allocator that it is free to use frame-internal
172 // registers. Used when the code generator's frame is switched from this
181 // (Re)attach a frame to its code generator. This informs the register
182 // allocator that the frame-internal register references are active again.
183 // Used when a code generator's frame is switched from NULL to this one by
192 // Emit code for the physical JS entry and exit frame sequences. After
193 // calling Enter, the virtual frame is ready for use; and after calling
195 // the physical frame for storing frame-allocated locals.
199 // Prepare for returning from the frame by spilling locals. This
207 // Allocate and initialize the frame-allocated locals.
215 // Random-access store to a frame-top relative frame element. The result
216 // becomes owned by the frame and is invalidated.
219 // Set a frame element to a constant. The index is frame-top relative.
233 // A frame-allocated local as an assembly operand.
240 // Push a copy of the value of a local frame slot on top of the frame.
245 // Push the value of a local frame slot on top of the frame and invalidate
252 // Store the top value on the virtual frame into a local frame slot. The
253 // value is left in place on top of the frame.
258 // Push the address of the receiver slot on the frame.
261 // Push the function on top of the frame.
266 // Save the value of the esi register to the context frame slot.
269 // Restore the esi register from the value of the context frame
280 // Push a copy of the value of a parameter frame slot on top of the frame.
285 // Push the value of a paramter frame slot on top of the frame and
292 // Store the top value on the virtual frame into a parameter frame slot.
293 // The value is left in place on top of the frame.
298 // The receiver frame slot.
303 // Push a try-catch or try-finally handler on top of the virtual frame.
337 // Call load IC. Name and receiver are found on top of the frame.
342 // frame. Both are dropped.
346 // frame. If not, value and receiver are on the frame. Both are dropped.
350 // of the frame. Key and receiver are not dropped.
354 // of the frame and dropped by the call. The argument count does not
360 // frame. Function is not dropped. The argument count does not
365 // emit code to affect the physical frame. Does not clobber any registers
374 // Duplicate the top element of the frame.
397 // Push an element on the virtual frame.
405 // frame).
423 // of the frame, leaving the previous top-of-frame value on top of
424 // the frame. Nip(k) is equivalent to x = Pop(), Drop(k), Push(x).
441 // The index of the register frame element using each register, or
442 frame.
445 // The number of frame-allocated locals and parameters respectively.
453 // The index of the element that is at the processor's frame pointer
455 // are below the frame pointer.
466 // The index of the context slot in the frame. It is immediately
467 // above the frame pointer.
472 // The index of the function slot in the frame. It is above the frame
478 // The index of the first local. Between the frame pointer and the
489 // Convert a frame index into a frame pointer relative offset into the
493 ASSERT(frame_pointer() < element_count()); // FP is on the frame.
497 // Record an occurrence of a register in the virtual frame. This has the
499 // of updating the index of the register's location in the frame.
506 // Record that a register reference has been dropped from the frame. This
508 // index of the register's location in the frame.
531 // Push a copy of a frame slot (typically a local or parameter) on top of
532 // the frame.
535 // Push a the value of a frame slot (typically a local or parameter) on
536 // top of the frame and invalidate the slot.
539 // Store the value on top of the frame to a frame slot (typically a local
544 // on the frame. Sync all other frame elements.
545 // Then drop dropped_args elements from the virtual frame, to match
549 // Move frame elements currently in registers or constants, that
550 // should be in memory in the expected frame, to memory.
554 // merge this frame with the expected frame.
563 // needed to make this frame equal the expected frame.
569 // Invalidates a frame slot (puts an invalid frame element in it).
570 // Copies on the frame are correctly handled, and if this slot was