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.
84 // Create a duplicate of an existing valid frame element.
88 // The number of elements on the virtual frame.
119 // Add extra in-memory elements to the top of the frame to match an actual
120 // frame (eg, the frame after an exception handler is pushed). No code is
124 // Forget count elements from the top of the frame all in-memory
126 // match an external frame effect (examples include a call removing
136 // Forget count elements from the top of the frame without adjusting
141 // Spill all values from the frame to memory.
144 // Spill all occurrences of a specific register from the frame.
151 // (ie, they all have frame-external references).
157 // Make this frame so that an arbitrary frame of the same height can
158 // be merged to it. Copies and constants are removed from the frame.
161 // Prepare this virtual frame for merging to an expected frame by
166 // Make this virtual frame have a state identical to an expected virtual
167 // frame. As a side effect, code may be emitted to make this frame match
171 // Detach a frame from its code generator, perhaps temporarily. This
172 // tells the register allocator that it is free to use frame-internal
173 // registers. Used when the code generator's frame is switched from this
182 // (Re)attach a frame to its code generator. This informs the register
183 // allocator that the frame-internal register references are active again.
184 // Used when a code generator's frame is switched from NULL to this one by
193 // Emit code for the physical JS entry and exit frame sequences. After
194 // calling Enter, the virtual frame is ready for use; and after calling
196 // the physical frame for storing frame-allocated locals.
200 // Prepare for returning from the frame by spilling locals. This
208 // Allocate and initialize the frame-allocated locals.
216 // Random-access store to a frame-top relative frame element. The result
217 // becomes owned by the frame and is invalidated.
220 // Set a frame element to a constant. The index is frame-top relative.
234 // A frame-allocated local as an assembly operand.
241 // Push a copy of the value of a local frame slot on top of the frame.
246 // Push the value of a local frame slot on top of the frame and invalidate
253 // Store the top value on the virtual frame into a local frame slot. The
254 // value is left in place on top of the frame.
259 // Push the address of the receiver slot on the frame.
262 // Push the function on top of the frame.
265 // Save the value of the esi register to the context frame slot.
268 // Restore the esi register from the value of the context frame
279 // Push a copy of the value of a parameter frame slot on top of the frame.
284 // Push the value of a paramter frame slot on top of the frame and
291 // Store the top value on the virtual frame into a parameter frame slot.
292 // The value is left in place on top of the frame.
297 // The receiver frame slot.
300 // Push a try-catch or try-finally handler on top of the virtual frame.
336 // Call load IC. Name and receiver are found on top of the frame.
341 // frame. They are not dropped.
345 // frame. Receiver is not dropped.
349 // of the frame. Key and receiver are not dropped.
353 // of the frame and dropped by the call.
359 // frame. Function is not dropped. The argument count does not
364 // emit code to affect the physical frame. Does not clobber any registers
371 // Duplicate the top element of the frame.
397 // Push an element on the virtual frame.
403 // frame).
415 // of the frame, leaving the previous top-of-frame value on top of
416 // the frame. Nip(k) is equivalent to x = Pop(), Drop(k), Push(x).
433 // The index of the register frame element using each register, or
434 // kIllegalIndex if a register is not on the frame.
437 // The number of frame-allocated locals and parameters respectively.
441 // The index of the element that is at the processor's frame pointer
443 // are below the frame pointer.
450 // The index of the context slot in the frame. It is immediately
451 // above the frame pointer.
454 // The index of the function slot in the frame. It is above the frame
458 // The index of the first local. Between the frame pointer and the
465 // Convert a frame index into a frame pointer relative offset into the
469 ASSERT(frame_pointer() < element_count()); // FP is on the frame.
473 // Record an occurrence of a register in the virtual frame. This has the
475 // of updating the index of the register's location in the frame.
482 // Record that a register reference has been dropped from the frame. This
484 // index of the register's location in the frame.
507 // Push a copy of a frame slot (typically a local or parameter) on top of
508 // the frame.
511 // Push a the value of a frame slot (typically a local or parameter) on
512 // top of the frame and invalidate the slot.
515 // Store the value on top of the frame to a frame slot (typically a local
520 // on the frame. Sync all other frame elements.
521 // Then drop dropped_args elements from the virtual frame, to match
525 // Move frame elements currently in registers or constants, that
526 // should be in memory in the expected frame, to memory.
530 // merge this frame with the expected frame.
539 // needed to make this frame equal the expected frame.
545 // Invalidates a frame slot (puts an invalid frame element in it).
546 // Copies on the frame are correctly handled, and if this slot was