发布于 2015-04-14 23:30:02 | 66 次阅读 | 评论: 0 | 来源: 网友投递
IO.js 服务器端 JS 引擎
IO.js 是为 V8 引擎编写的基于事件 IO 的实现。io.js可以说是彻底从NodeJS里分离出来的一条分支。既然是分支,io.js便也基本兼容NodeJS的各种API,连执行指令也依旧兼容Node的 node XXX (新指令是 iojs XXX )。不过io.js采纳了最新版本的V8引擎,并也将会时刻跟进V8的更新,也因此我们可以轻松地在io.js上抢先使用那些JavaScript ECMA-262规范上的新特性。
IO.js 是为 V8 引擎编写的基于事件 IO 的实现。io.js可以说是彻底从NodeJS里分离出来的一条分支。既然是分支,io.js便也基本兼容NodeJS的各种API,连执行指令也依旧兼容Node的 node XXX (新指令是 iojs XXX )。不过io.js采纳了最新版本的V8引擎,并也将会时刻跟进V8的更新,也因此我们可以轻松地在io.js上抢先使用那些JavaScript ECMA-262规范上的新特性。
IO.js 1.7.1 发布,此版本改进了对 ARM 的支持,现在 ARM 上面此版本能够顺利创建和测试了。
值得关注的改进如下:
C++ API: Fedor Indutny contributed a feature to V8 which has been backported to the V8 bundled in io.js. SealHandleScope
allows a C++ add-on author to seal a HandleScope
to prevent further, unintended allocations within it. Currently only enabled for debug builds of io.js. This feature helped detect the leak in #1075 and is now activated on the root HandleScope
in io.js. (Fedor Indutny) #1395.
ARM: This release includes significant work to improve the state of ARM support for builds and tests. The io.js CI cluster's ARMv6, ARMv7 and ARMv8 build servers are now all (mostly) reporting passing builds and tests.
ARMv8 64-bit (AARCH64) is now properly supported, including a backported fix in libuv that was mistakenly detecting the existence of epoll_wait()
. (Ben Noordhuis) #1365.
ARMv6: #1376 reported a problem with Math.exp()
on ARMv6 (incl Raspberry Pi). The culprit is erroneous codegen for ARMv6 when using the "fast math" feature of V8. --nofast_math
has been turned on for all ARMv6 variants by default to avoid this, fast math can be turned back on with --fast_math
. (Ben Noordhuis) #1398.
Tests: timeouts have been tuned specifically for slower platforms, detected as ARMv6 and ARMv7. (Roman Reiss) #1366.
npm: Upgrade npm to 2.7.6. See the release notes for details. Summary:
b747593
#7630 Don't automatically log all git failures as errors. maybeGithub
needs to be able to fail without logging to support its fallback logic. (@othiym23)
78005eb
#7743 Always quote arguments passed to npm run-script
. This allows build systems and the like to safely escape glob patterns passed as arguments to run-scripts
with npm run-script <script> -- <arguments>
. This is a tricky change to test, and may be reverted or moved to npm@3
if it turns out it breaks things for users. (@mantoni)
da015ee
#7074 read-package-json@1.3.3
: read-package-json
no longer caches package.json
files, which trades a very small performance loss for the elimination of a large class of really annoying race conditions. See #7074 for the grisly details. (@othiym23)
详细更新内容请看更新日志。
此版本现已提供下载:https://github.com/iojs/io.js/releases/tag/v1.7.1
IO.js 是为 V8 引擎编写的基于事件 IO 的实现。
构建要求:
* `gcc` and `g++` 4.8 or newer, or
* `clang` and `clang++` 3.3 or newer
* Python 2.6 or 2.7
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)