jasmin: init at 2.4

This commit is contained in:
Francesco Gazzetta
2019-11-06 15:43:29 +01:00
parent fa2909bf51
commit 446368e529
4 changed files with 89 additions and 0 deletions
@@ -0,0 +1,31 @@
.class public HelloWorld
.super java/lang/Object
;
; standard initializer (calls java.lang.Object's initializer)
;
.method public <init>()V
aload_0
invokenonvirtual java/lang/Object/<init>()V
return
.end method
;
; main() - prints out Hello World
;
.method public static main([Ljava/lang/String;)V
.limit stack 2 ; up to two items can be pushed
; push System.out onto the stack
getstatic java/lang/System/out Ljava/io/PrintStream;
; push a string onto the stack
ldc "Hello World!"
; call the PrintStream.println() method.
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
; done
return
.end method
@@ -0,0 +1,12 @@
{ stdenv, jasmin, jre }:
stdenv.mkDerivation {
name = "jasmin-test-assemble-hello-world";
meta.timeout = 60;
buildCommand = ''
${jasmin}/bin/jasmin ${./HelloWorld.j}
${jre}/bin/java HelloWorld | grep "Hello World"
touch $out
'';
}