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

Method visitInsn

src/jvm/clojure/asm/MethodWriter.java:862–882  ·  view source on GitHub ↗
(final int opcode)

Source from the content-addressed store, hash-verified

860 }
861
862 @Override
863 public void visitInsn(final int opcode) {
864 lastBytecodeOffset = code.length;
865 // Add the instruction to the bytecode of the method.
866 code.putByte(opcode);
867 // If needed, update the maximum stack size and number of locals, and stack map frames.
868 if (currentBasicBlock != null) {
869 if (compute == COMPUTE_ALL_FRAMES || compute == COMPUTE_INSERTED_FRAMES) {
870 currentBasicBlock.frame.execute(opcode, 0, null, null);
871 } else {
872 int size = relativeStackSize + STACK_SIZE_DELTA[opcode];
873 if (size > maxRelativeStackSize) {
874 maxRelativeStackSize = size;
875 }
876 relativeStackSize = size;
877 }
878 if ((opcode >= Opcodes.IRETURN && opcode <= Opcodes.RETURN) || opcode == Opcodes.ATHROW) {
879 endCurrentBasicBlockWithNoSuccessor();
880 }
881 }
882 }
883
884 @Override
885 public void visitIntInsn(final int opcode, final int operand) {

Callers 15

emitTypedArgsMethod · 0.45
emitUnboxedMethod · 0.45
emitMethod · 0.45
compileMethod · 0.45
emitValueMethod · 0.45
emitMethod · 0.45
emitLocalMethod · 0.45
doEmitStaticMethod · 0.45
emitBodyMethod · 0.45
emitClearLocalsOldMethod · 0.45
emitClearThisMethod · 0.45

Calls 3

putByteMethod · 0.80
executeMethod · 0.45

Tested by

no test coverage detected