Skip to content

Latest commit

 

History

History
100 lines (58 loc) · 2.21 KB

readme.md

File metadata and controls

100 lines (58 loc) · 2.21 KB

V8.js

NPM version

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.

Installation

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>

Usage

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"

API

collectGarbage

Trigger the internal garbage collector.

v8.collectGarbage();

getFunctionName

Return the name of the function passed in argument

v8.getFunctionName(fn);

prepareFunctionForOptimization

Prepare a function to be optimized by the engine. This is the first step of the optimization routine.

v8.prepareFunctionForOptimization(fn);

Arguments

  • {...Function} Set of functions that need to be prepared.

optimizeFunctionOnNextCall

Set a function to be optimized on its next call. This is the second step of the optimization routine.

v8.optimizeFunctionOnNextCall(...fns);

Arguments

  • {...Function} Set of functions to target for optimization.

getOptimizationStatus

Return integer representing the optimization status of a function in a binary flag format.

const status = v8.getOptimizationStatus(...fns);

Arguments

  • {...Function} Set of functions, give the optimization status for the first one.

Related

  • opti-status -- Get the optimization status of a function from the point of view of V8 engine

License

MIT