Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running V8 Javascript Engine Standalone

Tags:

javascript

v8

People also ask

Does V8 engine compile JavaScript?

This has been happening since 2009, when the SpiderMonkey JavaScript compiler was added to Firefox 3.5, and everyone followed this idea. JavaScript is internally compiled by V8 with just-in-time (JIT) compilation to speed up the execution.

How do you run a V8 engine?

On Mac OS X be sure to have brew installed. Then just run the command (sudo) brew install v8 , depending on your machine this may take some time. To start the V8 console, just run v8 - Voilà! Tip: To quit the console, just run quit() and don't forget the parentheses!

CAN node js work without V8?

The current Node. js engine cannot work without V8. It would have no JavaScript engine and hence no ability to run any JavaScript code.


V8 is easy to build and does not come with the Java VM overhead from Mozilla's standalone Javascript interpreter. Luckily, V8 ships with code for building a console. Here is how to build this:

$> svn co http://v8.googlecode.com/svn/trunk v8-trunk
...
$> cd v8-trunk
$> scons
$> g++ ./samples/shell.cc -o v8-shell -I include libv8.a 

Now, we have a standalone binary called v8-shell.

Running the console:

$> ./v8-shell 
V8 version 2.0.2
> var x = 10;
> x
10
> function foo(x) { return x * x; }
> foo
function foo(x) { return x * x; }
> quit()

Executing Javascript from the command line:

$> ./v8-shell -e 'print("10*10 = " + 10*10)'
10*10 = 100

Many more features are documented in the help:

$> ./v8-shell --help
Usage:
...

To build the developer console, rather than the example 'shell' toy application, copy-paste the below commands to your terminal.

sudo apt-get install subversion scons libreadline-dev
svn co http://v8.googlecode.com/svn/trunk v8
cd v8/
scons console=readline d8

These instruction will work for Ubuntu/Debian with a "generic" kernel. For other distributions, you will need to replace the apt-get command with whatever package tool you have available. On 64-bit systems you may need to add arch=x64. The console=readline option enables the readline system, to make it feel a bit more like a standard shell.

More complete documentation here: http://code.google.com/apis/v8/build.html


Note:

enter image description here

See also: Building v8 with GYP


How about running V8 Javascript via command line using node.js?

node.js uses v8 as it's engine and adds a lot of functionality on top of it.


For example on Mac OSX if you have Homebrew installed, simply issue:

    $ brew install node
    $ node
    > 

On Mac OS X be sure to have brew installed. Then just run the command (sudo) brew install v8, depending on your machine this may take some time. To start the V8 console, just run v8 - Voilà!

Tip: To quit the console, just run quit() and dont forget the parentheses!


I think this might have changed. I read the manual and build v8 like this:

moose@pc08$ svn co http://v8.googlecode.com/svn/trunk v8-trunk
moose@pc08$ cd v8-trunk
moose@pc08$ make dependencies
moose@pc08$ make ia32.release

added export PATH=${PATH}:/home/moose/Downloads/v8-trunk/out/ia32.release to my .bashrc

moose@pc08 ~ $ source ~/.bashrc
moose@pc08 ~ $ d8 A_tic_tac_toe_Tomek.js < A-small-practice.in

(With javascript from aditsu and A-small-practice.in from Google Code Jam)


After following the build instructions (Google's V8 Build Docs) for your system;

[v8 directory]$ cd out/native
[v8 directory]$ ./shell (sample shell)
[v8 directory]$ ./d8 (console: dumb)

I created an alias in my .bash_profile to facilitate invocation of the shell.

alias v8='/Volumes/Dev/GitHub/v8/out/native/shell'

Typing v8 at the CLI (in a new Terminal or shell -- to reload your bash profile) yields the v8 shell. JavaScript at the command prompt! :)