Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Support int64 arg/return in native call on JVM.
  • Loading branch information
jnthn committed Apr 4, 2015
1 parent 314a1cd commit a405133
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java
Expand Up @@ -295,6 +295,8 @@ private static Class<?> javaType(ThreadContext tc, ArgType target, SixModelObjec
return Integer.class;
case LONG:
return NativeLong.class;
case LONGLONG:
return Long.class;
case FLOAT:
return Float.class;
case DOUBLE:
Expand Down Expand Up @@ -327,6 +329,8 @@ public static Object toJNAType(ThreadContext tc, SixModelObject o, ArgType targe
return new Integer((int) o.get_int(tc));
case LONG:
return new NativeLong((long) o.get_int(tc));
case LONGLONG:
return new Long((long) o.get_int(tc));
case FLOAT:
return new Float((float) o.get_num(tc));
case DOUBLE:
Expand Down Expand Up @@ -418,6 +422,12 @@ public static SixModelObject toNQPType(ThreadContext tc, ArgType target, SixMode
nqpobj.set_int(tc, val);
break;
}
case LONGLONG: {
nqpobj = type.st.REPR.allocate(tc, type.st);
long val = ((Long) o).longValue();
nqpobj.set_int(tc, val);
break;
}
case FLOAT: {
nqpobj = type.st.REPR.allocate(tc, type.st);
float val = ((Float) o).floatValue();
Expand Down

0 comments on commit a405133

Please sign in to comment.