Skip to content

Metode Run

Setelah menginisialisasi VM dan mengkonfigurasi kapabilitas yang Anda inginkan, Anda dapat memuat bytecode dan memulai proses eksekusi.

Menggunakan TypeScript

Untuk TypeScript, Anda dapat meneruskan array bytecode mentah langsung ke loader. Disarankan untuk menggunakan optimizeBytecode terlebih dahulu untuk memastikan VM menjalankan versi instruksi Anda yang paling efisien.

ts
const raw = [
  ['push', 5],
  ['val', 'x'],
  ['set', 'x'],
];
vm.load(tools.optimizeBytecode(raw)).run();

Menggunakan Rust

Dalam Rust, Anda biasanya bekerja dengan string bytecode yang diserialisasi (atau serde_json). Mirip dengan implementasi TypeScript, selalu optimalkan bytecode Anda sebelum memuatnya ke dalam VM untuk mempertahankan kinerja optimal.

rust
let raw = r#"[
  ["push", 5],
  ["val", "x"],
  ["set", "x"]
]"#;
vm.load(tools.optimize_bytecode(raw).clone())
  .run(None);
rust
let raw = serde_json::json!([
  ["push", 5],
  ["val", "x"],
  ["set", "x"]
]);
vm.load(tools.optimize_bytecode(raw).clone())
  .run(None);

INFO

Kapabilitas yang Dibutuhkan: Control

TIP

Metode .run() adalah langkah terakhir dalam alur eksekusi. Pastikan semua kapabilitas yang diperlukan telah diberikan selama inisialisasi untuk menghindari pengecualian keamanan saat runtime.

Dirilis di bawah Lisensi Apache-2.0.