为什么 Node.js 0.12.0 版本中的 V8 需要 SSE2 CPU 指令?

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

正在尝试将 Node.js 从 0.10.x 升级到 0.12.0。注意到的第一件事是我得到一个错误,我的 CPU 不支持 SSE2 指令(实际上它们不支持)。

试图从源代码编译 Node.js 但由于同样的原因失败了。在 deps/v8/src/ia32/assembler-ia32.cc 中有一行说明

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

我想知道是否有办法摆脱 Node.js 0.10.x 中不需要的 SSE2 依赖项。只是注释掉这一行没有帮助,它会在 make 过程中引发 Illegal instruction 错误。

来自本演示文稿的幻灯片 14: IA 上 Node.js 的 V8 引擎:JavaScript-JITTED x86 机器代码 映射分析支持和 X87 Quark 处理器启用

您需要从源代码编译。

这样做:

./configure –dest-cpu=ia32

并将此行添加到 config.gypi 文件中的选项:

'v8_target_arch': 'x87',

运行 make.

基本上这个CPU有V8的端口,它是旧奔腾(i586)的指令集。

它适用于 Node v5.11.0 和 CPU AMD Geode LX800