Call native V8 engine functions.
Can access all functions define in V8 runtime. For brevity's sake not all functions have been integrated to V8.js, if you need a function not listed raise a new issue explaining your use-case.
npm install v8.js
Or add a <script>
tag in your HTML page:
<script type="module">
import v8 from 'https://unpkg.com/v8.js'; // or https://cdn.jsdelivr.net/npm/v8.js
</script>
V8.js exports a limited list of functions from the engine core that you can use.
In order for the package to work, you have to allow native syntax with the --allow-natives-syntax
flag.
import v8, { isNativeActive } from "v8.js";
console.log(v8.collectGarbage());
- Node:
node --allow-natives-syntax file.js
- Chrome/Chromium:
chrome --js-flags="--allow-natives-syntax"
Trigger the internal garbage collector.
v8.collectGarbage();
Return the name of the function passed in argument
v8.getFunctionName(fn);
Prepare a function to be optimized by the engine. This is the first step of the optimization routine.
v8.prepareFunctionForOptimization(fn);
- {...Function} Set of functions that need to be prepared.
Set a function to be optimized on its next call. This is the second step of the optimization routine.
v8.optimizeFunctionOnNextCall(...fns);
- {...Function} Set of functions to target for optimization.
Return integer representing the optimization status of a function in a binary flag format.
const status = v8.getOptimizationStatus(...fns);
- {...Function} Set of functions, give the optimization status for the first one.
opti-status
-- Get the optimization status of a function from the point of view of V8 engine