Lines Matching defs:frame

88      * {@code non-null;} sparse array mapping block labels to initial frame
216 * Merges the specified frame into this subroutine's successors,
218 * the frame of a subroutine ret block.
220 * @param frame {@code non-null;} frame from ret block to merge
223 void mergeToSuccessors(Frame frame, int[] workSet) {
229 Frame subFrame = frame.subFrameForLabel(startBlock, label);
300 * Set up the first stack frame with the right limits, but leave it
637 Frame frame = startFrames[offset];
639 processBlock(block, frame, workSet);
657 * Sets up the first frame to contain all the incoming parameters in
670 * @param frame {@code non-null;} start frame for the block
674 private void processBlock(ByteBlock block, Frame frame, int[] workSet) {
680 * Using a copy of the given frame, simulate each instruction,
683 frame = frame.copy();
684 sim.simulate(block, frame);
685 frame.setImmutable();
692 * Merge the frame into each possible non-exceptional
704 * If this frame ends in a JSR, only merge our frame with
738 .mergeToSuccessors(frame, workSet);
758 calledSubroutine, frame, workSet);
799 * frame into each possible exception handler, and
813 Frame f = frame.makeExceptionHandlerStartFrame(exceptionClass);
910 addBlock(bb, frame.getSubroutines());
950 addOrReplaceBlock(bb, frame.getSubroutines());
963 * @param frame {@code non-null;} new frame for the labelled block
968 Subroutine calledSubroutine, Frame frame, int[] workSet) {
979 merged = existing.mergeWithSubroutineCaller(frame,
982 merged = existing.mergeWith(frame);
992 = frame.makeNewSubroutineStartFrame(label, pred);
994 startFrames[label] = frame;
1550 // The new label has the same frame as the original label