Skip to content

GMartigny/v8.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

23 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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