Skip to content

Instantly share code, notes, and snippets.

@peschwa
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peschwa/96571d2ce74cedeea055 to your computer and use it in GitHub Desktop.
Save peschwa/96571d2ce74cedeea055 to your computer and use it in GitHub Desktop.
psch@hack:~/rakudo/javatests$ echo $CLASSPATH | tr ":" "\n"
.
/home/psch/rakudo/rakudo/install/languages/perl6/runtime
/home/psch/rakudo/rakudo/install/languages/perl6/lib
/home/psch/rakudo/rakudo/install/languages/nqp/lib
/home/psch/rakudo/rakudo/install/languages/nqp/runtime/*
/home/psch/rakudo/rakudo/install/languages/perl6/lib
/home/psch/rakudo/rakudo/install/languages/perl6/lib/Perl6
/home/psch/rakudo/rakudo/install/languages/perl6/runtime/*
/home/psch/rakudo/rakudo/install/languages/perl6/runtime
psch@hack:~/rakudo/javatests$ cat RunP6FromJava.java
import org.perl6.rakudo.RakudoEvalServer;
public class RunP6FromJava {
public static void main(String... args) {
RakudoEvalServer esrv = new RakudoEvalServer();
String output = "grml";
long time = 0;
String[] argv = new String[3];
argv[0] = "--optimize=off";
argv[1] = "-e";
argv[2] = "say 'hi'";
try {
time = System.currentTimeMillis();
output = esrv.run(argv);
time = System.currentTimeMillis() - time;
} catch(Exception e) {
e.printStackTrace();
}
System.out.print("P6 says: \n" + output);
}
}
psch@hack:~/rakudo/javatests$ java RunP6FromJava
P6 says:
java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
DBDD3BD80F7272986234A194011B90C52818DD88.qb_2074(Lorg/perl6/nqp/runtime/CompilationUnit;Lorg/perl6/nqp/runtime/ThreadContext;Lorg/perl6/nqp/runtime/CodeRef;Lorg/perl6/nqp/runtime/CallSiteDescriptor;Lorg/perl6/nqp/runtime/ResumeStatus$Frame;[Ljava/lang/Object;)V @68: invokestatic
Reason:
Type long_2nd (current frame, stack[3]) is not assignable to 'org/perl6/nqp/sixmodel/SixModelObject'
Current Frame:
bci: @68
flags: { }
locals: { 'org/perl6/nqp/runtime/CompilationUnit', 'org/perl6/nqp/runtime/ThreadContext', 'org/perl6/nqp/runtime/CodeRef', 'org/perl6/nqp/runtime/CallSiteDescriptor', 'org/perl6/nqp/runtime/ResumeStatus$Frame', '[Ljava/lang/Object;', 'org/perl6/nqp/runtime/CallFrame' }
stack: { 'org/perl6/nqp/sixmodel/SixModelObject', 'org/perl6/nqp/sixmodel/SixModelObject', long, long_2nd, 'org/perl6/nqp/runtime/ThreadContext' }
Bytecode:
0000000: bb00 1259 2b2c b700 163a 062b 2d19 05b8
0000010: 0088 59c7 0009 1906 b600 2ab1 4e2b b400
0000020: 8b3a 0507 2bb8 013c 128d 1137 682b ba00
0000030: 9700 0019 0606 b800 b119 0606 b800 b12b
0000040: b800 c52b b800 c50a 612b b806 e42b b801
0000050: 5519 06b8 0111 1906 b600 2aa7 0016 59c1
0000060: 002c 9900 0919 06b6 002a bf2b 5fb8 0032
0000070: bfb1
Exception Handler Table:
bci [11, 94] => handler: 94
Stackmap Table:
full_frame(@28,{Object[#4],Object[#98],Object[#72],Object[#74],Object[#58],Object[#75],Object[#18]},{Object[#74]})
same_locals_1_stack_item_extended(@94,Object[#16])
same_locals_1_stack_item_frame(@107,Object[#16])
same_locals_1_stack_item_frame(@113,Object[#281])
in (gen/jvm/ModuleLoader.nqp:376)
in load_setting (gen/jvm/ModuleLoader.nqp:367)
in load_setting (src/Perl6/World.nqp:322)
in comp_unit (src/Perl6/Grammar.nqp:1035)
in TOP (src/Perl6/Grammar.nqp:368)
in parse (gen/jvm/stage2/QRegex.nqp:1872)
in parse (gen/jvm/stage2/NQPHLL.nqp:1440)
in compile (gen/jvm/stage2/NQPHLL.nqp:1396)
in eval (gen/jvm/stage2/NQPHLL.nqp:1138)
in (gen/jvm/stage2/NQPHLL.nqp:1244)
in command_eval (gen/jvm/stage2/NQPHLL.nqp:1241)
in command_eval (src/Perl6/Compiler.nqp:17)
in command_line (gen/jvm/stage2/NQPHLL.nqp:1226)
in MAIN (gen/jvm/main.nqp:39)
in <mainline> (gen/jvm/main.nqp:35)
in (gen/jvm/main.nqp)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment