# 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-ce-java17-windows-amd64-22.0.0.2 (1024个子文件)
jmxremote.access 4KB
ADDITIONAL_LICENSE_INFO 2KB
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ADDITIONAL_LICENSE_INFO 49B
ASSEMBLY_EXCEPTION 1KB
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
ASSEMBLY_EXCEPTION 44B
共 1024 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
delva
- 粉丝: 16
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0