# GraalVM JavaScript
GraalVM JavaScript is a High-Performance JavaScript implementation built atop the [Truffle Language Implementation Framework](https://github.com/oracle/graal/tree/master/truffle) and the [GraalVM compiler](https://github.com/oracle/graal).
Truffle is a framework for implementing languages as self-optimizing interpreters written in Java.
Graal is a dynamic compiler that is used to generate efficient machine code from partially evaluated Truffle interpreters.
GraalVM JavaScript is compatible with the releases of the ECMAScript specification, from version 5 up to [ECMAScript 2020](http://www.ecma-international.org/ecma-262/11.0/index.html).
Features of new ECMAScript proposals are added regularly but need to be activated by flags.
## Building
1. Clone `mx`: `git clone https://github.com/graalvm/mx.git`
2. Append the `mx` directory to your `PATH`
3. Create a work directory and enter it
4. Clone graal-js
5. Move into the graal-js subdirectory
6. Run `mx build`
## Running
### As normal Java application
To execute GraalVM JavaScript as a normal Java application, execute this command:
```
mx js [OPTION]... [FILE]... -- [ARG]...
```
Note that this will execute GraalVM JavaScript on your default JVM.
You will likely experience mediocre performance, as GraalVM JavaScript will not use Graal to compile frequently executed JavaScript code to optimized machine code.
### With Graal as compiler
Executing GraalVM JavaScript with Graal as a compiler will improve performance significantly.
Graal will compile frequently executed methods run by the GraalVM JavaScript interpreter - this is called "partial evaluation".
To use GraalVM JavaScript together with the Graal compiler built from source, use the following command:
1. Enter the graal-js dir
2. Run `mx --dynamicimports /compiler build`
```
mx --jdk jvmci --dynamicimports /compiler js [OPTION]... [FILE]... -- [ARG]...
```
The `graal` and `graaljs` directories should be sibling directories.
### With Internationalization API (ECMA-402) support
Use the following option with `mx js` to turn on the ECMA-402 features: `-Dpolyglot.js.intl-402=true`
## Testing
```
mx gate
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
GraalVM(graalvm-ce-java17-linux-aarch64-21.3.0.tar.gz适用于Linux (aarch64)), GraalVM 是一个高性能 JDK 发行版,旨在加速用 Java 和其他 JVM 语言编写的应用程序的执行,并支持 JavaScript、Ruby、Python 和许多其他流行语言。GraalVM 的多语言功能可以在单个应用程序中混合多种编程语言,同时消除外语调用成本。
资源详情
资源评论
资源推荐
收起资源包目录
GraalVM(graalvm-ce-java17-linux-aarch64-21.3.0.tar.gz) (1194个子文件)
libc++.so.1.0 8.32MB
libc++abi.so.1.0 2.64MB
libc++.so.1 8.32MB
libc++abi.so.1 2.64MB
libgraalvm-llvm.so.1 57KB
__availability 14KB
__bit_reference 52KB
__bits 5KB
__config 48KB
__config 3KB
__debug 8KB
__errc 9KB
__functional_03 44KB
__functional_base 18KB
__functional_base_03 6KB
__hash 3KB
__hash_table 98KB
__libcpp_version 6B
__locale 55KB
__memory 3KB
__mutex_base 16KB
__node_handle 6KB
__nullptr 2KB
__split_buffer 22KB
__sso_allocator 2KB
__std_stream 10KB
__string 46KB
__threading_support 21KB
__tree 100KB
__tuple 20KB
__undef_macros 1KB
libfontmanager.a 3.02MB
libawt_xawt.a 1.11MB
libawt.a 1.11MB
liblcms.a 915KB
libjdwp.a 911KB
libsplashscreen.a 714KB
libmlib_image.a 660KB
libjpackageapplauncher.a 534KB
libjavajpeg.a 384KB
libjava.a 341KB
libjvm.a 325KB
libjvm.a 325KB
libnet.a 259KB
libffi.a 242KB
libnio.a 211KB
libj2pkcs11.a 200KB
libjli.a 155KB
libjsound.a 149KB
libfdlibm.a 139KB
libsaproc.a 133KB
libinstrument.a 121KB
libj2gss.a 105KB
libawt_headless.a 87KB
libverify.a 68KB
libjimage.a 65KB
libzip.a 60KB
libmanagement_ext.a 58KB
liblibchelper.a 57KB
liblibchelper.a 57KB
libmanagement.a 51KB
libdt_socket.a 47KB
libsctp.a 45KB
libj2pcsc.a 24KB
libextnet.a 15KB
libjsig.a 11KB
libattach.a 10KB
libprefs.a 4KB
libjaas.a 4KB
libmanagement_agent.a 3KB
libjawt.a 3KB
librmi.a 2KB
libsyslookup.a 1KB
jmxremote.access 4KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 2KB
共 1194 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
YunFeiDong
- 粉丝: 173
- 资源: 4033
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mybatisplus自定义xml文件
- 严蔚敏《数据结构》(C语言版):核心知识点梳理与考研真题详解(自用)(不必理会)
- 无人机检测23-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 1733240052845179_downFile.do
- 无人机检测2-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 华为机架服务器iBMC (V300 及以上) 用户指南
- linux内核学习很好的书籍,建议初学者都去阅读一下
- abb上位机开发,远程启动与数据读取
- wt-js-debug v2.7.6
- 施工防护检测38-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1