MCPcopy Index your code
hub / github.com/clojure/clojure / push

Method push

src/jvm/clojure/asm/Frame.java:515–534  ·  view source on GitHub ↗

Pushes the given abstract type on the output frame stack. @param abstractType an abstract type.

(final int abstractType)

Source from the content-addressed store, hash-verified

513 * @param abstractType an abstract type.
514 */
515 private void push(final int abstractType) {
516 // Create and/or resize the output stack array if necessary.
517 if (outputStack == null) {
518 outputStack = new int[10];
519 }
520 int outputStackLength = outputStack.length;
521 if (outputStackTop >= outputStackLength) {
522 int[] newOutputStack = new int[Math.max(outputStackTop + 1, 2 * outputStackLength)];
523 System.arraycopy(outputStack, 0, newOutputStack, 0, outputStackLength);
524 outputStack = newOutputStack;
525 }
526 // Pushes the abstract type on the output stack.
527 outputStack[outputStackTop++] = abstractType;
528 // Updates the maximum size reached by the output stack, if needed (note that this size is
529 // relative to the input stack size, which is not known yet).
530 short outputStackSize = (short) (outputStackStart + outputStackTop);
531 if (outputStackSize > owner.outputStackMax) {
532 owner.outputStackMax = outputStackSize;
533 }
534 }
535
536 /**
537 * Pushes the abstract type corresponding to the given descriptor on the output frame stack.

Callers 1

executeMethod · 0.95

Calls 3

maxMethod · 0.45
indexOfMethod · 0.45

Tested by

no test coverage detected