问题标签 [graalvm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1620 浏览

java - -server -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler 时使用哪个编译器

我的 JVM 有-server选项,我相信它使 JVM 能够使用 C2 编译器,该编译器用于服务器应用程序,这些应用程序的运行时间往往比客户端对应的时间长。-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler但是,GRAAL JIT(由

-server -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler

它最终使用哪个编译器?Graal JIT 还是 C2?

0 投票
1 回答
669 浏览

javascript - Graal Javascript - 线程安全

在多线程应用程序(例如每个 servlet 请求)中使用 Graal.js 的推荐方法是什么?我们像这样使用 Graal.js

我们是否应该为每个执行线程提供唯一的上下文/绑定。这可以通过上下文/绑定对池或使用 threadlocal 来完成。这是正确的方法吗?

0 投票
2 回答
1160 浏览

java - 带有无服务器框架和 GraalVM 的 Java 上的 AWS Lambda 函数

我知道可以使用无服务器框架在 Java 上创建 AWS Lambda 函数。基本配置serverless.yml通常如下所示:

但是随着GraalVMnative-imageJava 编译的出现,我希望能够使用 GraalVM 构建在 Java 上编写的 AWS Lambda 函数,并使用无服务器进行部署。

Serverless 框架是否已经支持原生 Java 图像功能?或者也许还有其他替代工具可以使用 Java 和 GraalVM 创建 Lambda 函数?

0 投票
3 回答
330 浏览

r - Graalvm - 与 RStudio 集成

在旨在加速 R 语言的项目中,目前使用带有 GraalVM 的 R 语言版本 3.5.1 的 FastR 在我看来似乎更加开发并与最新版本的 R 兼容。

有人知道是否有任何方法可以将 FastR 与 RStudio 集成吗?

GraalVM + R (FastR):https ://www.graalvm.org/docs/reference-manual/languages/r/ 。

0 投票
1 回答
257 浏览

graalvm - 使在 Chrome 中调试 graaljs 成为可能的神器

我正在尝试在 graaljs 中采用调试:

java.lang.IllegalArgumentException: Could not find option with name inspect.

我的build.gradle依赖项如下所示:

而且我绝对记得曾经我应该添加另一个依赖项,以便可以在 chrome 中进行调试 - 但是我不记得 - 或者在任何代码源或文档中找到 - 我应该添加什么作为依赖项

0 投票
1 回答
623 浏览

graalvm - 是否可以将预编译的 js 存储和加载到 org.graalvm.polyglot.Context

有什么方法可以将 javascript 源代码转换为一些预编译的声明,可以以某种方式存储和加载,org.graalvm.polyglot.Context而不是将其评估为原始字符串?像--persistent-code-cache在 nashorn 中没有记录的东西。

0 投票
1 回答
458 浏览

java - GraalVM 中的异常链

我正在使用 GraalVM 执行 JavaScript 文件,但我在处理异常时遇到了问题。我的 JS 代码调用回 Java,如果从这些 Java 方法之一抛出异常,那么我会丢失原因链。

发生这种情况的原因是因为 Graal/Truffle 创建了 的实例HostException,该实例有一个不调用的构造函数super(e),它将其分配给用于获取消息的内部字段,仅此而已。这似乎是故意的,但我不明白原因。这是安全问题吗?你能想出一种方法来改变这种行为吗?我非常希望在我的日志中提供异常的全部原因,但目前它停在HostException,通常只是说类似“ ”(例如,如果错误的A原始原因是NoSuchElementException("A")

0 投票
1 回答
300 浏览

optimization - GraalVM 可以将提前编译与自适应优化结合起来吗?

据我所知,JVM 可以以不同的方式工作:

解释器:一遍又一遍地从字节码到本机代码的运行时翻译。

即时编译:需要时在运行时将部分字节码编译为本机代码。保留汇编。编译的性能开销/惩罚。引入了在运行时进行自适应优化的可能性,这在静态提前编译中是不可能的。

热点:只有经常执行的部分才会被 JIT 编译。其余的被解释。

现在 GraalVM 可以将字节码提前编译为本机代码。

是否可以提前编译字节码并对热点进行自适应优化(一般来说,特别是 GraalVM)?

【澄清】我并不是说将部分字节码AOT编译为native code,而将其他部分作为字节码在运行时对其进行热点JIT编译。这就是我目前所读到的 IBM 的 Excelsior Jet Java 实现似乎要做的事情。我的意思是 AOT 编译整个字节码并在运行时用自适应优化的热点重新编译替换热点部分。这需要将优化的代码正确连接/插入到现有的 AOT 编译代码中。[/澄清]

我不知道在运行时使用自适应优化重新编译热点需要什么信息。需要字节码吗?这将意味着更高的内存消耗作为更高性能的成本。

我不是这方面的专家,所以请告诉我是否有任何假设是错误的。

0 投票
1 回答
98 浏览

java - GraalVM 提前编译(AOT)的安全性

我很喜欢将字节码编译为本机代码,但它不会重新引入安全问题吗?例如,它不是缺少运行时检查,例如检查数组边界吗?

好的,如果您编译受信任的 Java 代码,它可能不会做任何错误,但可能还有其他情况。

0 投票
0 回答
864 浏览

java - GraalVM:Quarkus + Mongo 找不到类

我使用 Quarkus 创建了一个示例项目,然后添加了一个 MongoDB。

对于使用 JVM 运行,一切正常,但是当尝试使用 graalvm 构建 docker 映像时,出现以下错误。

如何修复此错误?我尝试将所有依赖项添加到 pom.xml,但似乎不起作用。

要构建错误,只需运行:

测试代码可以在 github vepo/quarkus-mongo找到