[graalvm-users] pass java object to llvm function

Darrell Schiebel darrell at schiebel.us
Thu Jan 21 08:42:53 PST 2021


Beautiful, thanks very much Lukas!


On Thu, Jan 21, 2021 at 9:11 AM Lukas Stadler <lukas.stadler at oracle.com>
wrote:

> Yes, passing Java classes to the LLVM printPoint function works.
> Using the “cpart.so” file from the JavaScript example, it could look like
> this:
>
> import java.io.*;
> import org.graalvm.polyglot.*;
>
> class Polyglot {
>     public static class Point {
>         public int x;
>         public int y;
>     }
>     public static void main(String[] args) throws IOException {
>         Context polyglot =
> Context.newBuilder().allowAllAccess(true).build();
>         File file = new File("cpart.so");
>         Source source = Source.newBuilder("llvm", file).build();
>         Value cpart = polyglot.eval(source);
>         Value printPoint = cpart.getMember("printPoint");
>         printPoint.execute(new Point());
>     }
> }
>
> $ bin/javac Polyglot.java
> $ bin/java Polyglot
> Point<0.000000,0.000000>
>
> Best,
>  Lukas
>
> On 21.01.2021, at 04:40, Darrell Schiebel <darrell at schiebel.us> wrote:
>
> I am trying to reproduce the JavaScript example at:
>
>    - https://www.graalvm.org/reference-manual/llvm/Interoperability/
>
> using Java instead of JavaScript. In general it is straightforward, but
> I'm having trouble passing a Java object to a C++ function to implement the
> equivalent of:
>
> // Additionally, pass a JS object to a native function
> cpart.printPoint({x: 17, y: 42});
>
>
> Is it possible to pass a Point object declared and instantiated in Java
> to the LLVM printPoint function?
>
> thanks,
> Darrell
> _______________________________________________
> GraalVM-Users mailing list
> GraalVM-Users at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/graalvm-users
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://oss.oracle.com/pipermail/graalvm-users/attachments/20210121/aefb17ba/attachment.html 


More information about the GraalVM-Users mailing list