为什么Node.js 0.12.0版本中的V8需要SSE2 CPU指令?
尝试将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依赖。 只是注释掉这条线没有帮助,它会在制作过程中抛出一个Illegal instruction
错误。
从本演示的幻灯片14: IA上的Node.js的V8引擎:JavaScript-JITTED x86机器代码映射分析支持和X87夸克处理器启用
你需要从源代码编译。
做这个:
./configure –dest-cpu=ia32
并将此行添加到config.gypi文件中的选项中:
'v8_target_arch': 'x87',
运行make
。
基本上这个CPU有V8的端口,它是用旧的奔腾(i586)的指令集。
它适用于Node v5.11.0和CPU AMD Geode LX800 。