Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Issue 2853393002: [builtins] Migrate Object.keys to CodeStubAssembler builtin. (Closed)

Created:
3 years, 7 months ago by Benedikt Meurer
Modified:
3 years, 7 months ago
Reviewers:
Camillo Bruni
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

[builtins] Migrate Object.keys to CodeStubAssembler builtin. Migrate the Object.keys builtin to the CodeStubAssembler and use the enum cache backing store whenever it is available. This gives a nice speedup of 1.5x to 2x when using Object.keys on fast-mode objects that have (or can have) an enum cache. R=cbruni@chromium.org BUG=v8:5269, v8:6405 Review-Url: https://codereview.chromium.org/2853393002 Cr-Commit-Position: refs/heads/master@{#45361} Committed: https://chromium.googlesource.com/v8/v8/+/c8c758053b7326023458c8cc2bcbd8b3bd95b904

Patch Set 1 #

Patch Set 2 : Make debug build happy. #

Patch Set 3 : Properly handle the empty case. #

Total comments: 2

Patch Set 4 : Address feedback. #

Patch Set 5 : Remove trimming of enum caches. #

Patch Set 6 : Don't change the enum cache map. #

Patch Set 7 : Really fix the test, meh. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+150 lines, -44 lines) Patch
M src/bootstrapper.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/builtins/builtins-definitions.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/builtins/builtins-object.cc View 1 chunk +0 lines, -35 lines 0 comments Download
M src/builtins/builtins-object-gen.cc View 1 2 3 4 5 1 chunk +82 lines, -0 lines 0 comments Download
M src/code-stub-assembler.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M src/code-stub-assembler.cc View 1 2 3 1 chunk +10 lines, -7 lines 0 comments Download
M src/runtime/runtime.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime/runtime-object.cc View 1 2 3 1 chunk +20 lines, -0 lines 0 comments Download
A test/mjsunit/object-keys.js View 1 2 3 4 5 6 1 chunk +34 lines, -0 lines 0 comments Download

Messages

Total messages: 45 (37 generated)
Benedikt Meurer
3 years, 7 months ago (2017-05-02 19:08:52 UTC) #1
Benedikt Meurer
Hey Camillo, Here's the patch for Object.keys that we discussed today. Please take a look. ...
3 years, 7 months ago (2017-05-02 19:09:21 UTC) #4
Camillo Bruni
LGTM modulo the right-trimming issues. https://codereview.chromium.org/2853393002/diff/30001/test/mjsunit/object-keys.js File test/mjsunit/object-keys.js (right): https://codereview.chromium.org/2853393002/diff/30001/test/mjsunit/object-keys.js#newcode9 test/mjsunit/object-keys.js:9: let k = Object.keys(a); ...
3 years, 7 months ago (2017-05-03 08:40:44 UTC) #15
Benedikt Meurer
https://codereview.chromium.org/2853393002/diff/30001/test/mjsunit/object-keys.js File test/mjsunit/object-keys.js (right): https://codereview.chromium.org/2853393002/diff/30001/test/mjsunit/object-keys.js#newcode9 test/mjsunit/object-keys.js:9: let k = Object.keys(a); On 2017/05/03 08:40:44, Camillo Bruni ...
3 years, 7 months ago (2017-05-17 05:09:19 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2853393002/70001
3 years, 7 months ago (2017-05-17 05:22:57 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux64_gyp_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_gyp_rel_ng/builds/18457) v8_linux64_gyp_rel_ng_triggered on master.tryserver.v8 (JOB_FAILED, ...
3 years, 7 months ago (2017-05-17 06:08:07 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2853393002/130001
3 years, 7 months ago (2017-05-17 08:12:47 UTC) #42
commit-bot: I haz the power
3 years, 7 months ago (2017-05-17 08:45:40 UTC) #45
Message was sent while issue was closed.
Committed patchset #7 (id:130001) as
https://chromium.googlesource.com/v8/v8/+/c8c758053b7326023458c8cc2bcbd8b3bd9...

Powered by Google App Engine
This is Rietveld 408576698