Why does V8 in Node.js version 0.12.0 require CPU SSE2 instructions?

An attempt was made to upgrade Node.js from 0.10.x to 0.12.0. The first thing they noticed was that I get an error that SSE2 instructions are not supported by my processor (indeed, this is not the case).

Tried to compile Node.js from sources, but failed for the same reason. In deps/v8/src/ia32/assembler-ia32.cc there is a line with the message

 CHECK(cpu.has_sse2()); // SSE2 support is mandatory. 

I wonder if there is a way to get rid of this SSE2 dependency, which is not required in Node.js 0.10.x. Just commenting on this line does not help; it throws an Illegal instruction error during the make process.

+7
v8 sse2
source share
1 answer

From slide 14 of this presentation: IA V8 Node.js engine: JavaScript-JITTED x86 native code support for card profiling and an X87 Quark processor that supports

You will need to compile from sources.

Do it:

 ./configure –dest-cpu=ia32 

And add this line to the parameters in the config.gypi file:

 'v8_target_arch': 'x87', 

Run make .

Basically, there is a V8 port for this CPU, it is with the instruction set of the old Pentium (i586).

It works for me with Node v5.11.0 and AMD Geode LX800 CPU.

+3
source share

All Articles