Skip to content

Commit 06b4b0c

Browse files
committed
Make bytecode slightly more efficient by using sipush over constant
Signed-off-by: TheSilkMiner <thesilkminer@outlook.com>
1 parent 261f54d commit 06b4b0c

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

JavaBytecodeCompiler/src/main/java/org/openzen/zenscript/javabytecode/compiler/JavaMethodBytecodeCompiler.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ public Void builtinStaticMethod(BuiltinMethodSymbol method, TypeID returnType, C
394394
case BYTE_ADD_STRING:
395395
case BYTE_CAT_STRING:
396396
arguments[0].accept(expressionVisitor);
397-
javaWriter.constant(0xFF);
397+
javaWriter.siPush((short) 0xFF);
398398
javaWriter.iAnd();
399399
javaWriter.invokeStatic(INTEGER_TO_STRING);
400400
arguments[1].accept(expressionVisitor);
@@ -629,42 +629,42 @@ public Void builtinStaticMethod(BuiltinMethodSymbol method, TypeID returnType, C
629629
javaWriter.i2b();
630630
break;
631631
case BYTE_TO_SHORT:
632-
javaWriter.constant(0xFF);
632+
javaWriter.siPush((short) 0xFF);
633633
javaWriter.iAnd();
634634
javaWriter.i2s();
635635
break;
636636
case BYTE_TO_USHORT:
637637
case BYTE_TO_INT:
638638
case BYTE_TO_UINT:
639639
case BYTE_TO_USIZE:
640-
javaWriter.constant(0xFF);
640+
javaWriter.siPush((short) 0xFF);
641641
javaWriter.iAnd();
642642
break;
643643
case BYTE_TO_LONG:
644644
case BYTE_TO_ULONG:
645-
javaWriter.constant(0xFF);
645+
javaWriter.siPush((short) 0xFF);
646646
javaWriter.iAnd();
647647
javaWriter.i2l();
648648
break;
649649
case BYTE_TO_FLOAT:
650-
javaWriter.constant(0xFF);
650+
javaWriter.siPush((short) 0xFF);
651651
javaWriter.iAnd();
652652
javaWriter.i2f();
653653
break;
654654
case BYTE_TO_DOUBLE:
655-
javaWriter.constant(0xFF);
655+
javaWriter.siPush((short) 0xFF);
656656
javaWriter.iAnd();
657657
javaWriter.i2d();
658658
break;
659659
case BYTE_TO_CHAR:
660-
javaWriter.constant(0xFF);
660+
javaWriter.siPush((short) 0xFF);
661661
javaWriter.iAnd();
662662
break;
663663
case BYTE_TO_STRING:
664664
if (arguments[0].type.isOptional()) {
665665
javaWriter.invokeStatic(OBJECTS_TOSTRING);
666666
} else {
667-
javaWriter.constant(0xFF);
667+
javaWriter.siPush((short) 0xFF);
668668
javaWriter.iAnd();
669669
javaWriter.invokeStatic(INTEGER_TO_STRING);
670670
}

0 commit comments

Comments
 (0)