phase: 20.49 COMPLETE; 20.50 Flow+String minimal reps; 20.51 selfhost v0/v1 minimal (Option A/B); hv1-inline binop/unop/copy; docs + run_all + CURRENT_TASK -> 21.0
This commit is contained in:
@ -10,7 +10,7 @@
|
||||
- 実行:
|
||||
```
|
||||
NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 NYASH_JIT_EVENTS=1 \
|
||||
./target/release/nyash --backend vm examples/jit_map_get_param_hh.nyash
|
||||
./target/release/nyash --backend vm examples/jit_map_get_param_hh.hako
|
||||
```
|
||||
- 期待: `allow id: nyash.map.get_hh` イベントが出る。戻り値は `value1`。
|
||||
|
||||
@ -19,7 +19,7 @@ NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 NYASH_JIT_EVENTS=1 \
|
||||
- 実行:
|
||||
```
|
||||
NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 NYASH_JIT_EVENTS=1 \
|
||||
./target/release/nyash --backend vm examples/jit_policy_optin_mutating.nyash
|
||||
./target/release/nyash --backend vm examples/jit_policy_optin_mutating.hako
|
||||
```
|
||||
- 期待: 1回目は `policy_denied_mutating` でfallback、whitelist後の2回目はallow。
|
||||
|
||||
@ -36,7 +36,7 @@ NYASH_JIT_EVENTS_RUNTIME=1 NYASH_JIT_EVENTS_PATH=events.jsonl ...
|
||||
- 目的: GCのカウント/トレース/バリア観測の導線確認(VM経路)。
|
||||
- 実行:
|
||||
```
|
||||
./target/release/nyash --backend vm examples/gc_counting_demo.nyash
|
||||
./target/release/nyash --backend vm examples/gc_counting_demo.hako
|
||||
```
|
||||
- Tips: 詳細ログは `NYASH_GC_COUNTING=1 NYASH_GC_TRACE=2` を併用。
|
||||
|
||||
@ -45,7 +45,7 @@ NYASH_JIT_EVENTS_RUNTIME=1 NYASH_JIT_EVENTS_PATH=events.jsonl ...
|
||||
- 実行(しきい値=1を明示/またはDebugConfigBoxでapply後にRunnerが自動設定):
|
||||
```
|
||||
NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 \
|
||||
./target/release/nyash --backend vm examples/jit_policy_whitelist_demo.nyash
|
||||
./target/release/nyash --backend vm examples/jit_policy_whitelist_demo.hako
|
||||
```
|
||||
- 期待: `policy_events.jsonl` に `phase:"lower"`(計画)と `phase:"execute"`(実績)が出る。
|
||||
|
||||
@ -61,12 +61,12 @@ NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 \
|
||||
- 事前: `cargo build --release --features cranelift-jit`
|
||||
- 実行例(String/Integer/Consoleの最小):
|
||||
```
|
||||
./target/release/nyash --compile-native examples/aot_min_string_len.nyash -o app && ./app
|
||||
./target/release/nyash --compile-native examples/aot_min_string_len.hako -o app && ./app
|
||||
# 結果は `Result: <val>` として標準出力に表示
|
||||
```
|
||||
- Python最小チェーン(RO):
|
||||
```
|
||||
./target/release/nyash --compile-native examples/aot_py_min_chain.nyash -o app && ./app
|
||||
./target/release/nyash --compile-native examples/aot_py_min_chain.hako -o app && ./app
|
||||
```
|
||||
- スクリプト版(詳細な手順): `tools/build_aot.sh <file> -o <out>`(Windowsは `tools/build_aot.ps1`)
|
||||
|
||||
@ -75,6 +75,6 @@ NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 \
|
||||
- 実行(デモ):
|
||||
```
|
||||
NYASH_SCHED_DEMO=1 NYASH_SCHED_POLL_BUDGET=2 \
|
||||
./target/release/nyash --backend vm examples/scheduler_demo.nyash
|
||||
./target/release/nyash --backend vm examples/scheduler_demo.hako
|
||||
```
|
||||
- 期待: `[SCHED] immediate task ran at safepoint` と `[SCHED] delayed task ran at safepoint` が出力
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
// Minimal function for AOT/JIT plugin_invoke with String.length()
|
||||
// Run JIT demo:
|
||||
// NYASH_USE_PLUGIN_BUILTINS=1 NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 \
|
||||
// ./target/release/nyash --backend vm examples/aot_min_string_len.nyash
|
||||
// ./target/release/nyash --backend vm examples/aot_min_string_len.hako
|
||||
// Generate .o (if compiled):
|
||||
// NYASH_AOT_OBJECT_OUT=target/aot_objects \
|
||||
// NYASH_USE_PLUGIN_BUILTINS=1 NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 \
|
||||
// ./target/release/nyash --backend vm examples/aot_min_string_len.nyash
|
||||
// ./target/release/nyash --backend vm examples/aot_min_string_len.hako
|
||||
|
||||
static box Main {
|
||||
len1(s) {
|
||||
@ -4,7 +4,7 @@
|
||||
// - PyRuntimeBox.eval() with zero args reads NYASH_PY_EVAL_CODE on the host side.
|
||||
// - Avoids StringBox and println to minimize unsupported JIT lowerings.
|
||||
// - Build AOT:
|
||||
// bash tools/build_python_aot.sh examples/aot_py_eval_env_min.nyash -o app
|
||||
// bash tools/build_python_aot.sh examples/aot_py_eval_env_min.hako -o app
|
||||
// - Run:
|
||||
// NYASH_PY_EVAL_CODE="(__import__('math').sqrt)(9)" ./app
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
// cargo build --release --features cranelift-jit
|
||||
// Run:
|
||||
// NYASH_PY_EVAL_CODE="(__import__('builtins').int)(**{'x':'FF','base':16})" \
|
||||
// ./target/release/nyash --compile-native examples/aot_py_eval_kwargs_env.nyash -o app && \
|
||||
// ./target/release/nyash --compile-native examples/aot_py_eval_kwargs_env.hako -o app && \
|
||||
// NYASH_PY_EVAL_CODE="(__import__('builtins').int)(**{'x':'FF','base':16})" ./app
|
||||
|
||||
static box Main {
|
||||
@ -1,7 +1,7 @@
|
||||
// AOT Python minimal chain: import -> getattr -> call
|
||||
// Build AOT (example):
|
||||
// cargo build --release --features cranelift-jit
|
||||
// ./target/release/nyash --compile-native examples/aot_py_min_chain.nyash -o app && ./app
|
||||
// ./target/release/nyash --compile-native examples/aot_py_min_chain.hako -o app && ./app
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// AOT Python evalR Err demo (returns Result.Err)
|
||||
// Build:
|
||||
// cargo build --release --features cranelift-jit
|
||||
// ./target/release/nyash --compile-native examples/aot_py_result_err.nyash -o app && ./app
|
||||
// ./target/release/nyash --compile-native examples/aot_py_result_err.hako -o app && ./app
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// AOT Python evalR OK demo (returns Result.Ok)
|
||||
// Build:
|
||||
// cargo build --release --features cranelift-jit
|
||||
// ./target/release/nyash --compile-native examples/aot_py_result_ok.nyash -o app && ./app
|
||||
// ./target/release/nyash --compile-native examples/aot_py_result_ok.hako -o app && ./app
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// ArrayBox plugin demo
|
||||
// Requires: plugins/nyash-array-plugin built (release) and nyash.toml updated
|
||||
// Run:
|
||||
// NYASH_CLI_VERBOSE=1 ./target/release/nyash --backend vm examples/array_plugin_demo.nyash
|
||||
// NYASH_CLI_VERBOSE=1 ./target/release/nyash --backend vm examples/array_plugin_demo.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -2,7 +2,7 @@
|
||||
// Build plugin:
|
||||
// (cd plugins/nyash-array-plugin && cargo build --release)
|
||||
// Run (plugin host auto-loads from nyash.toml):
|
||||
// NYASH_CLI_VERBOSE=1 ./target/release/nyash --backend vm examples/array_plugin_set_demo.nyash
|
||||
// NYASH_CLI_VERBOSE=1 ./target/release/nyash --backend vm examples/array_plugin_set_demo.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,6 +1,6 @@
|
||||
// ConsoleBox native build test - simplest version
|
||||
// Build native:
|
||||
// ./tools/build_aot.sh examples/console_native_simple.nyash console_simple
|
||||
// ./tools/build_aot.sh examples/console_native_simple.hako console_simple
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// ConsoleBox native build test - minimal example
|
||||
// Build native:
|
||||
// cargo build --release --features cranelift-jit
|
||||
// ./tools/build_aot.sh examples/console_native_test.nyash console_app
|
||||
// ./tools/build_aot.sh examples/console_native_test.hako console_app
|
||||
|
||||
static box Main {
|
||||
greet(name) {
|
||||
@ -1,5 +1,5 @@
|
||||
// Cycle test A -> B -> A
|
||||
using "examples/cycle_b.nyash"
|
||||
using "examples/cycle_b.hako"
|
||||
|
||||
static box A {
|
||||
main() {
|
||||
@ -1,5 +1,5 @@
|
||||
// Cycle test B -> A
|
||||
using "examples/cycle_a.nyash"
|
||||
using "examples/cycle_a.hako"
|
||||
|
||||
static box B {
|
||||
main() {
|
||||
@ -1,6 +1,6 @@
|
||||
// GC Counting demo (VM path) — verifies CountingGc counters and barrier sites
|
||||
// Run:
|
||||
// ./target/release/nyash --backend vm examples/gc_counting_demo.nyash
|
||||
// ./target/release/nyash --backend vm examples/gc_counting_demo.hako
|
||||
// Expect (with trace): [GC] counters: safepoints>0 read_barriers>=0 write_barriers>=0
|
||||
|
||||
static box Main {
|
||||
@ -1,6 +1,6 @@
|
||||
static box Main {
|
||||
main() {
|
||||
using "examples/include_math.nyash" as include_math
|
||||
using "examples/include_math.hako" as include_math
|
||||
return include_math
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
static box Main {
|
||||
main() {
|
||||
using "examples/include_math.nyash" as Math
|
||||
using "examples/include_math.hako" as Math
|
||||
local r = Math.add(1, 2)
|
||||
return r
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
// jit-direct: boolean return normalization
|
||||
// Build: cargo build --release --features cranelift-jit
|
||||
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 \
|
||||
// ./target/release/nyash --jit-direct examples/jit_direct_bool_ret.nyash
|
||||
// ./target/release/nyash --jit-direct examples/jit_direct_bool_ret.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// jit-direct: f64 return demo
|
||||
// Build: cargo build --release --features cranelift-jit
|
||||
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_NATIVE_F64=1 \
|
||||
// ./target/release/nyash --jit-direct examples/jit_direct_f64_ret.nyash
|
||||
// ./target/release/nyash --jit-direct examples/jit_direct_f64_ret.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// jit-direct: minimal local Store/Load path
|
||||
// Build: cargo build --release --features cranelift-jit
|
||||
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 \
|
||||
// ./target/release/nyash --jit-direct examples/jit_direct_local_store_load.nyash
|
||||
// ./target/release/nyash --jit-direct examples/jit_direct_local_store_load.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// f64 E2E demo (Cranelift JIT)
|
||||
// Build: cargo build --release --features cranelift-jit
|
||||
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_NATIVE_F64=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_f64_e2e_add_compare.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_f64_e2e_add_compare.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,5 +1,5 @@
|
||||
// Fallback case: Array.append/push is mutating; with read-only policy it should fallback
|
||||
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 ./target/release/nyash --backend vm examples/jit_hostcall_array_append.nyash
|
||||
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 ./target/release/nyash --backend vm examples/jit_hostcall_array_append.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -2,7 +2,7 @@
|
||||
// Expect: decision="fallback", reason="policy_denied_mutating"
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_EVENTS=1 NYASH_JIT_HOSTCALL=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_hostcall_array_push_mutating.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_hostcall_array_push_mutating.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,5 +1,5 @@
|
||||
// Success case: String.length() via JIT hostcall (read-only)
|
||||
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 ./target/release/nyash --backend vm examples/jit_hostcall_len_string.nyash
|
||||
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 ./target/release/nyash --backend vm examples/jit_hostcall_len_string.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -2,7 +2,7 @@
|
||||
// Expect: decision="allow", arg_types=["Handle","Handle"]
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_EVENTS=1 NYASH_JIT_HOSTCALL=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_hostcall_map_get_handle.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_hostcall_map_get_handle.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// Allow case: math.sin expects f64; JIT records sig_ok (allow) and VM executes (thin bridge)
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_EVENTS=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_hostcall_math_sin_allow_float.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_hostcall_math_sin_allow_float.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// Allow via coercion: math.sin expects f64; integer arg coerces i64->f64 in signature check
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_NATIVE_F64=1 NYASH_JIT_HOSTCALL=1 NYASH_JIT_EVENTS=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_hostcall_math_sin_allow_int_coerce.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_hostcall_math_sin_allow_int_coerce.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,5 +1,5 @@
|
||||
// Boundary case: math.sin expects f64; v0 emits sig_mismatch fallback event
|
||||
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_EVENTS=1 ./target/release/nyash --backend vm examples/jit_hostcall_math_sin_mismatch.nyash
|
||||
// Run: NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_EVENTS=1 ./target/release/nyash --backend vm examples/jit_hostcall_math_sin_mismatch.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -2,7 +2,7 @@
|
||||
// Expect: JIT hostcall allow for nyash.map.get_hh (Handle,Handle)
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 NYASH_JIT_EVENTS=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_map_get_param_hh.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_map_get_param_hh.hako
|
||||
|
||||
box Helper {
|
||||
birth() {
|
||||
@ -1,7 +1,7 @@
|
||||
// Function-style math: abs(x)
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_NATIVE_F64=1 NYASH_JIT_EVENTS=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_math_function_style_abs_float.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_math_function_style_abs_float.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// Function-style math: cos(x)
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_NATIVE_F64=1 NYASH_JIT_EVENTS=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_math_function_style_cos_float.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_math_function_style_cos_float.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// Function-style math: max(a,b)
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_NATIVE_F64=1 NYASH_JIT_EVENTS=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_math_function_style_max_float.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_math_function_style_max_float.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// Function-style math: min(a,b)
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_NATIVE_F64=1 NYASH_JIT_EVENTS=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_math_function_style_min_float.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_math_function_style_min_float.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -1,7 +1,7 @@
|
||||
// Function-style math: sin(x) should normalize to MathBox.sin(x)
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_NATIVE_F64=1 NYASH_JIT_EVENTS=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_math_function_style_sin_float.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_math_function_style_sin_float.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -2,7 +2,7 @@
|
||||
// Expect: decision="allow(coerce_f64)", arg_types=["I64","F64"]
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_NATIVE_F64=1 NYASH_JIT_RELAX_NUMERIC=1 NYASH_JIT_EVENTS=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_math_min_relax_numeric.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_math_min_relax_numeric.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -2,7 +2,7 @@
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 \
|
||||
// NYASH_JIT_EVENTS=1 NYASH_JIT_NATIVE_F64=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_math_native_f64.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_math_native_f64.hako
|
||||
|
||||
box Runner {
|
||||
birth() {
|
||||
@ -4,7 +4,7 @@
|
||||
// Run:
|
||||
// NYASH_USE_PLUGIN_BUILTINS=1 NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 \
|
||||
// NYASH_JIT_SHIM_TRACE=1 NYASH_CLI_VERBOSE=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_plugin_invoke_box_helper.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_plugin_invoke_box_helper.hako
|
||||
|
||||
box Helper {
|
||||
helper(arr) {
|
||||
@ -4,7 +4,7 @@
|
||||
// Run:
|
||||
// NYASH_USE_PLUGIN_BUILTINS=1 NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 \
|
||||
// NYASH_JIT_SHIM_TRACE=1 NYASH_CLI_VERBOSE=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_plugin_invoke_global_helper.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_plugin_invoke_global_helper.hako
|
||||
|
||||
helper(arr) {
|
||||
// JIT target: plugin_invoke on parameter only
|
||||
@ -9,7 +9,7 @@
|
||||
// Run (JIT helper only):
|
||||
// NYASH_USE_PLUGIN_BUILTINS=1 NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 \
|
||||
// NYASH_JIT_SHIM_TRACE=1 NYASH_CLI_VERBOSE=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_plugin_invoke_param_array.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_plugin_invoke_param_array.hako
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
@ -4,7 +4,7 @@
|
||||
// Run:
|
||||
// NYASH_USE_PLUGIN_BUILTINS=1 NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 \
|
||||
// NYASH_JIT_SHIM_TRACE=1 NYASH_CLI_VERBOSE=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_plugin_invoke_static_helper.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_plugin_invoke_static_helper.hako
|
||||
|
||||
static box Helper {
|
||||
static helper(arr) {
|
||||
@ -3,7 +3,7 @@
|
||||
// 2) Whitelist nyash.array.push_h → allow + execute
|
||||
// Run:
|
||||
// NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 NYASH_JIT_HOSTCALL=1 NYASH_JIT_EVENTS=1 \
|
||||
// ./target/release/nyash --backend vm examples/jit_policy_optin_mutating.nyash
|
||||
// ./target/release/nyash --backend vm examples/jit_policy_optin_mutating.hako
|
||||
|
||||
box Helper {
|
||||
birth() {}
|
||||
@ -2,7 +2,7 @@
|
||||
// Goal: show fallback on read_only, then allow after whitelist.
|
||||
// Run (Cranelift enabled recommended):
|
||||
// cargo build --release -j32 --features cranelift-jit
|
||||
// NYASH_JIT_HOSTCALL=1 ./target/release/nyash --backend vm examples/jit_policy_whitelist_demo.nyash
|
||||
// NYASH_JIT_HOSTCALL=1 ./target/release/nyash --backend vm examples/jit_policy_whitelist_demo.hako
|
||||
// Check events file:
|
||||
// cat policy_events.jsonl # contains phase=lower/execute decisions
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user