Skip to content

deps: backport 1f8555 from v8's upstream - #1395

Closed
indutny wants to merge 2 commits into
nodejs:v1.xfrom
indutny:feature/seal-handle-scope
Closed

deps: backport 1f8555 from v8's upstream#1395
indutny wants to merge 2 commits into
nodejs:v1.xfrom
indutny:feature/seal-handle-scope

Conversation

@indutny

Copy link
Copy Markdown
Member

Original commit message:

api: introduce SealHandleScope
When debugging Handle leaks in io.js we found it very convenient to be
able to Seal some specific (root in our case) scope to prevent Handle
allocations in it, and easily find leakage.
R=yangguo
BUG=
Review URL: https://codereview.chromium.org/1079713002
Cr-Commit-Position: refs/heads/master@{#27766}

Should help us identify and fix Handle leaks in core and user-space code.

NOTE: Works only in Debug build now, but is still better than nothing.

R=@bnoordhuis

@rvagg

Copy link
Copy Markdown
Member

Will this be in 4.2? if not, perhaps we should make it be in our 4.2 rather than pulling it in to our current series.

And should this be semver-minor?

@indutny

Copy link
Copy Markdown
MemberAuthor

@rvagg idk about 4.2, asked Yang there: https://codereview.chromium.org/1079713002/ . Anyway, it seems to help a lot, and I am even thinking about introducing another floating patch for making it more strict in the Release mode too (or at least on CIs).

I guess it should be a semver-minor, considering that it is introducing additional APIs.

@indutnyindutny added semver-minor PRs that contain new features and should be released in the next minor version. v8 engine Issues and PRs related to the V8 dependency. labels Apr 11, 2015
@bnoordhuis

Copy link
Copy Markdown
Member

LGTM but I suggest you split off the changes to src/node.cc into a separate commit. That should make it easier to cherry-pick the V8 changes again at the next upgrade.

Original commit message:
api: introduce SealHandleScope
When debugging Handle leaks in io.js we found it very convenient to be
able to Seal some specific (root in our case) scope to prevent Handle
allocations in it, and easily find leakage.
R=yangguo
BUG=
Review URL: https://codereview.chromium.org/1079713002
Cr-Commit-Position: refs/heads/master@{nodejs#27766}
Should help us identify and fix Handle leaks in core and user-space code.
NOTE: Works only in Debug build now, but is still better than nothing.
Helps to find Handle leaks in Debug mode.
@indutny
indutnyforce-pushed the feature/seal-handle-scope branch from 88df3dc to 004cba0CompareApril 11, 2015 14:02
@indutny

Copy link
Copy Markdown
MemberAuthor

@bnoordhuis like this?

@bnoordhuis

Copy link
Copy Markdown
Member

Like that. LGTM.

indutny added a commit that referenced this pull request Apr 11, 2015
Original commit message:
api: introduce SealHandleScope
When debugging Handle leaks in io.js we found it very convenient to be
able to Seal some specific (root in our case) scope to prevent Handle
allocations in it, and easily find leakage.
R=yangguo
BUG=
Review URL: https://codereview.chromium.org/1079713002
Cr-Commit-Position: refs/heads/master@{#27766}
Should help us identify and fix Handle leaks in core and user-space code.
NOTE: Works only in Debug build now, but is still better than nothing.
PR-URL: #1395
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
indutny added a commit that referenced this pull request Apr 11, 2015
Helps to find Handle leaks in Debug mode.
PR-URL: #1395
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
@indutny

Copy link
Copy Markdown
MemberAuthor

Landed in a5244d3, a07c691. Thank you!

@indutnyindutny closed this Apr 11, 2015
@indutny
indutny deleted the feature/seal-handle-scope branch April 11, 2015 19:41
@Fishrock123Fishrock123 mentioned this pull request Apr 11, 2015
rvagg added a commit that referenced this pull request Apr 14, 2015
Notable changes:
* 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
(https://github.com/npm/npm/releases/tag/v2.7.6) for details.
targos pushed a commit to targos/node that referenced this pull request Jun 6, 2015
Original commit message:
api: introduce SealHandleScope
When debugging Handle leaks in io.js we found it very convenient to be
able to Seal some specific (root in our case) scope to prevent Handle
allocations in it, and easily find leakage.
R=yangguo
BUG=
Review URL: https://codereview.chromium.org/1079713002
Cr-Commit-Position: refs/heads/master@{nodejs#27766}
Should help us identify and fix Handle leaks in core and user-space code.
NOTE: Works only in Debug build now, but is still better than nothing.
PR-URL: nodejs#1395
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver-minorPRs that contain new features and should be released in the next minor version.v8 engineIssues and PRs related to the V8 dependency.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@indutny@rvagg@bnoordhuis