Skip to content

deps: cherry-pick 6da51b4 from v8's upstream - #2801

Closed
indutny wants to merge 1 commit into
nodejs:masterfrom
indutny:fix/buffer-iteration-slow
Closed

deps: cherry-pick 6da51b4 from v8's upstream#2801
indutny wants to merge 1 commit into
nodejs:masterfrom
indutny:fix/buffer-iteration-slow

Conversation

@indutny

Copy link
Copy Markdown
Member

Original commit message:

TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}

Benchmark results:

 buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%

Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).

This should be backported to 4.0.

cc @nodejs/v8 @rvagg@bnoordhuis@trevnorris

Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{nodejs#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
@ChALkeRChALkeR added the v8 engine Issues and PRs related to the V8 dependency. label Sep 10, 2015
@bnoordhuis

Copy link
Copy Markdown
Member

LGTM

1 similar comment
@trevnorris

Copy link
Copy Markdown
Contributor

LGTM

@indutny

Copy link
Copy Markdown
MemberAuthor

@trevnorris@bnoordhuis feel free to land it if you have some availability.

indutny added a commit that referenced this pull request Sep 10, 2015
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: #2463
PR-URL: #2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
@bnoordhuis

Copy link
Copy Markdown
Member

Landed in acb6779.

@indutny
indutny deleted the fix/buffer-iteration-slow branch September 10, 2015 20:42
@indutny

Copy link
Copy Markdown
MemberAuthor

Thank you, @bnoordhuis !

indutny added a commit that referenced this pull request Sep 11, 2015
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: #2463
PR-URL: #2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
oleavr added a commit to frida/v8 that referenced this pull request Sep 11, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
oleavr added a commit to frida/v8 that referenced this pull request Sep 11, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
oleavr added a commit to frida/v8 that referenced this pull request Sep 12, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
oleavr added a commit to frida/v8 that referenced this pull request Sep 12, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
@rvaggrvagg mentioned this pull request Sep 12, 2015
oleavr added a commit to frida/v8 that referenced this pull request Sep 12, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
oleavr added a commit to frida/v8 that referenced this pull request Sep 12, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
oleavr added a commit to frida/v8 that referenced this pull request Sep 12, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
oleavr added a commit to frida/v8 that referenced this pull request Sep 12, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
oleavr added a commit to frida/v8 that referenced this pull request Sep 12, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
oleavr added a commit to frida/v8 that referenced this pull request Sep 12, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
@Fishrock123Fishrock123 mentioned this pull request Sep 13, 2015
7 tasks
@rvaggrvagg mentioned this pull request Sep 22, 2015
@MylesBorins

Copy link
Copy Markdown
Contributor

landed in lts as 6098504

oleavr added a commit to frida/v8 that referenced this pull request Dec 26, 2015
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
oleavr added a commit to frida/v8 that referenced this pull request Aug 11, 2016
Cherry-picked from Node.js:
commit acb6779c19abf248a4c6d5c3d3389805e7ee8b8d
Author: Fedor Indutny <fedor@indutny.com>
Date: Thu Sep 10 12:26:50 2015 -0700
deps: cherry-pick 6da51b4 from v8's upstream
Original commit message:
TypedArray accessor detection: consider entire prototype chain
When looking up a special accessor for known TypedArray fields
("length", "byteLength", "byteOffset"), consider the entire
prototype chain, not only the direct prototype.
This allows subclasses of TypedArrays to benefit from fast
specialized accesses.
Review URL: https://codereview.chromium.org/1313493005
Cr-Commit-Position: refs/heads/master@{#30678}
Benchmark results:
buffers/buffer-iterate.js size=16386 type=slow method=for n=1000:
./node: 71607 node: 8702.3 ............ 722.85%
Improvement depends on the code, but generally brings us back to the
performance that we had before the v8 update (if not making it
faster).
Fixes: nodejs/node#2463
PR-URL: nodejs/node#2801
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v8 engineIssues and PRs related to the V8 dependency.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@indutny@bnoordhuis@trevnorris@MylesBorins@ChALkeR@jasnell