2025-08-29 08:36:07 +09:00
|
|
|
// 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 \
|
2025-11-06 15:41:52 +09:00
|
|
|
// ./target/release/nyash --backend vm examples/aot_min_string_len.hako
|
2025-08-29 08:36:07 +09:00
|
|
|
// Generate .o (if compiled):
|
|
|
|
|
// NYASH_AOT_OBJECT_OUT=target/aot_objects \
|
|
|
|
|
// NYASH_USE_PLUGIN_BUILTINS=1 NYASH_JIT_EXEC=1 NYASH_JIT_THRESHOLD=1 \
|
2025-11-06 15:41:52 +09:00
|
|
|
// ./target/release/nyash --backend vm examples/aot_min_string_len.hako
|
2025-08-29 08:36:07 +09:00
|
|
|
|
|
|
|
|
static box Main {
|
|
|
|
|
len1(s) {
|
|
|
|
|
// Receiver is a parameter (JIT-friendly)
|
|
|
|
|
return s.length()
|
|
|
|
|
}
|
|
|
|
|
main() {
|
|
|
|
|
local s
|
|
|
|
|
s = new StringBox()
|
|
|
|
|
// Warm up: call len1 once to compile
|
|
|
|
|
return me.len1(s)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|