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

Method visitIincInsn

src/jvm/clojure/asm/MethodWriter.java:1307–1327  ·  view source on GitHub ↗
(final int var, final int increment)

Source from the content-addressed store, hash-verified

1305 }
1306
1307 @Override
1308 public void visitIincInsn(final int var, final int increment) {
1309 lastBytecodeOffset = code.length;
1310 // Add the instruction to the bytecode of the method.
1311 if ((var > 255) || (increment > 127) || (increment < -128)) {
1312 code.putByte(Constants.WIDE).put12(Opcodes.IINC, var).putShort(increment);
1313 } else {
1314 code.putByte(Opcodes.IINC).put11(var, increment);
1315 }
1316 // If needed, update the maximum stack size and number of locals, and stack map frames.
1317 if (currentBasicBlock != null
1318 && (compute == COMPUTE_ALL_FRAMES || compute == COMPUTE_INSERTED_FRAMES)) {
1319 currentBasicBlock.frame.execute(Opcodes.IINC, var, null, null);
1320 }
1321 if (compute != COMPUTE_NOTHING) {
1322 int currentMaxLocals = var + 1;
1323 if (currentMaxLocals > maxLocals) {
1324 maxLocals = currentMaxLocals;
1325 }
1326 }
1327 }
1328
1329 @Override
1330 public void visitTableSwitchInsn(

Callers 1

readCodeMethod · 0.45

Calls 5

putShortMethod · 0.80
put12Method · 0.80
putByteMethod · 0.80
put11Method · 0.80
executeMethod · 0.45

Tested by

no test coverage detected