Lines Matching full:frame
42 // The virtual frame is an abstraction of the physical stack frame. It
43 // encapsulates the parameters, frame-allocated locals, and the expression
50 // A utility class to introduce a scope where the virtual frame is
52 // generator's current frame, but no attempt is made to require it
60 // An illegal index into the virtual frame.
63 // Construct an initial virtual frame on entry to a JS function.
66 // Construct a virtual frame as a clone of an existing one.
72 // Create a duplicate of an existing valid frame element.
75 // The number of elements on the virtual frame.
106 // Add extra in-memory elements to the top of the frame to match an actual
107 // frame (eg, the frame after an exception handler is pushed). No code is
111 // Forget elements from the top of the frame to match an actual frame (eg,
112 // the frame after a runtime call). No code is emitted.
122 // Forget count elements from the top of the frame and adjust the stack
127 // Spill all values from the frame to memory.
130 // Spill all occurrences of a specific register from the frame.
137 // (ie, they all have frame-external references).
140 // Prepare this virtual frame for merging to an expected frame by
145 // Make this virtual frame have a state identical to an expected virtual
146 // frame. As a side effect, code may be emitted to make this frame match
150 // Detach a frame from its code generator, perhaps temporarily. This
151 // tells the register allocator that it is free to use frame-internal
152 // registers. Used when the code generator's frame is switched from this
161 // (Re)attach a frame to its code generator. This informs the register
162 // allocator that the frame-internal register references are active again.
163 // Used when a code generator's frame is switched from NULL to this one by
172 // Emit code for the physical JS entry and exit frame sequences. After
173 // calling Enter, the virtual frame is ready for use; and after calling
175 // the physical frame for storing frame-allocated locals.
179 // Prepare for returning from the frame by spilling locals and
180 // dropping all non-locals elements in the virtual frame. This
185 // Allocate and initialize the frame-allocated locals.
196 // Random-access store to a frame-top relative frame element. The result
197 // becomes owned by the frame and is invalidated.
200 // Set a frame element to a constant. The index is frame-top relative.
210 // A frame-allocated local as an assembly operand.
217 // Push a copy of the value of a local frame slot on top of the frame.
222 // Push the value of a local frame slot on top of the frame and invalidate
229 // Store the top value on the virtual frame into a local frame slot. The
230 // value is left in place on top of the frame.
235 // Push the address of the receiver slot on the frame.
238 // The function frame slot.
241 // Push the function on top of the frame.
244 // The context frame slot.
247 // Save the value of the cp register to the context frame slot.
250 // Restore the cp register from the value of the context frame
263 // Push a copy of the value of a parameter frame slot on top of the frame.
268 // Push the value of a paramter frame slot on top of the frame and
275 // Store the top value on the virtual frame into a parameter frame slot.
276 // The value is left in place on top of the frame.
281 // The receiver frame slot.
284 // Push a try-catch or try-finally handler on top of the virtual frame.
336 // emit code to affect the physical frame. Does not clobber any registers
347 // Duplicate the top element of the frame.
368 // Push an element on the virtual frame.
373 // Pushing a result invalidates it (its contents become owned by the frame).
385 // of the frame, leaving the previous top-of-frame value on top of
386 // the frame. Nip(k) is equivalent to x = Pop(), Drop(k), Push(x).
407 // The index of the register frame element using each register, or
408 // kIllegalIndex if a register is not on the frame.
411 // The number of frame-allocated locals and parameters respectively.
415 // The index of the element that is at the processor's frame pointer
417 // are below the frame pointer.
424 // The index of the context slot in the frame. It is immediately
425 // below the frame
428 // The index of the function slot in the frame. It is below the frame
432 // The index of the first local. Between the frame pointer and the
439 // Convert a frame index into a frame pointer relative offset into the
443 ASSERT(frame_pointer() < element_count()); // FP is on the frame.
447 // Record an occurrence of a register in the virtual frame. This has the
449 // of updating the index of the register's location in the frame.
456 // Record that a register reference has been dropped from the frame. This
458 // index of the register's location in the frame.
484 // Push a copy of a frame slot (typically a local or parameter) on top of
485 // the frame.
488 // Push a the value of a frame slot (typically a local or parameter) on
489 // top of the frame and invalidate the slot.
492 // Store the value on top of the frame to a frame slot (typically a local
497 // on the frame. Sync all other frame elements.
498 // Then drop dropped_args elements from the virtual frame, to match
502 // Move frame elements currently in registers or constants, that
503 // should be in memory in the expected frame, to memory.
507 // merge this frame with the expected frame.
516 // needed to make this frame equal the expected frame.
522 // Invalidates a frame slot (puts an invalid frame element in it).
523 // Copies on the frame are correctly handled, and if this slot was