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

Issue 2430273007: [runtime] Object.create(null) creates a slow object (Closed)

Created:
4 years, 2 months ago by Camillo Bruni
Modified:
4 years, 1 month ago
Reviewers:
Igor Sheludko, epertoso
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[runtime] Object.create(null) creates a slow object Object.create(null) is most likely to be used for dictionary-like objects. Hence it would be beneficial to directly create a slow-mode object and avoid additional overhead later-on. BUG= Committed: https://crrev.com/532c16eca071df3ec8eed394dcebb932ef584ee6 Cr-Commit-Position: refs/heads/master@{#40551}

Patch Set 1 #

Patch Set 2 : adding tests #

Total comments: 13

Patch Set 3 : addressing comments #

Total comments: 19

Patch Set 4 : addressing pending comments #

Total comments: 2

Patch Set 5 : renaming variables and fixing cctest #

Patch Set 6 : remove unused variable #

Patch Set 7 : fix GC mole issue #

Unified diffs Side-by-side diffs Delta from patch set Stats (+224 lines, -29 lines) Patch
M src/bootstrapper.cc View 1 1 chunk +5 lines, -4 lines 0 comments Download
M src/builtins/builtins-object.cc View 1 2 3 3 chunks +8 lines, -3 lines 0 comments Download
M src/code-stub-assembler.h View 1 2 3 4 6 chunks +19 lines, -0 lines 0 comments Download
M src/code-stub-assembler.cc View 1 2 3 4 6 chunks +90 lines, -0 lines 0 comments Download
M src/compiler/code-assembler.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/code-assembler.cc View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M src/contexts.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M src/objects.h View 1 2 3 4 5 chunks +12 lines, -12 lines 0 comments Download
M src/objects.cc View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download
M src/objects-inl.h View 1 2 3 2 chunks +1 line, -2 lines 0 comments Download
M src/runtime/runtime-object.cc View 1 2 3 4 5 6 2 chunks +7 lines, -1 line 0 comments Download
M test/cctest/test-code-stub-assembler.cc View 1 2 3 4 5 4 chunks +62 lines, -1 line 0 comments Download
M test/mjsunit/es6/symbols.js View 1 chunk +1 line, -1 line 0 comments Download
M test/mjsunit/harmony/private.js View 1 chunk +1 line, -1 line 0 comments Download
M test/mjsunit/regress/regress-252797.js View 1 chunk +7 lines, -1 line 0 comments Download

Depends on Patchset:

Messages

Total messages: 32 (16 generated)
Camillo Bruni
PTAL For now I did not templetize the dictionary instantiation as there is only one ...
4 years, 2 months ago (2016-10-21 07:12:08 UTC) #3
Igor Sheludko
First round of comments. https://codereview.chromium.org/2430273007/diff/20001/src/code-stub-assembler.cc File src/code-stub-assembler.cc (right): https://codereview.chromium.org/2430273007/diff/20001/src/code-stub-assembler.cc#newcode130 src/code-stub-assembler.cc:130: void CodeStubAssembler::BranchIfWordIsPowerOfTwo(Node* value, Label* if_true, ...
4 years, 2 months ago (2016-10-21 07:48:28 UTC) #4
Camillo Bruni
PTAl again https://codereview.chromium.org/2430273007/diff/20001/src/code-stub-assembler.cc File src/code-stub-assembler.cc (right): https://codereview.chromium.org/2430273007/diff/20001/src/code-stub-assembler.cc#newcode130 src/code-stub-assembler.cc:130: void CodeStubAssembler::BranchIfWordIsPowerOfTwo(Node* value, Label* if_true, On 2016/10/21 ...
4 years, 2 months ago (2016-10-21 13:37:16 UTC) #5
Igor Sheludko
Almost there... https://codereview.chromium.org/2430273007/diff/40001/src/builtins/builtins-object.cc File src/builtins/builtins-object.cc (right): https://codereview.chromium.org/2430273007/diff/40001/src/builtins/builtins-object.cc#newcode519 src/builtins/builtins-object.cc:519: a->AllocateNameDictionary(NameDictionary::kInitialCapacity)); On 2016/10/21 13:37:15, Camillo Bruni wrote: ...
4 years, 2 months ago (2016-10-21 15:01:10 UTC) #6
Camillo Bruni
https://codereview.chromium.org/2430273007/diff/40001/src/code-stub-assembler.cc File src/code-stub-assembler.cc (right): https://codereview.chromium.org/2430273007/diff/40001/src/code-stub-assembler.cc#newcode133 src/code-stub-assembler.cc:133: for (int i = 1; i <= 16; i ...
4 years, 2 months ago (2016-10-21 16:27:32 UTC) #7
Camillo Bruni
PTAL again https://codereview.chromium.org/2430273007/diff/40001/src/code-stub-assembler.cc File src/code-stub-assembler.cc (right): https://codereview.chromium.org/2430273007/diff/40001/src/code-stub-assembler.cc#newcode132 src/code-stub-assembler.cc:132: value = IntPtrSubWithOverflow(value, IntPtrConstant(1)); On 2016/10/21 at ...
4 years, 1 month ago (2016-10-24 09:53:07 UTC) #9
Igor Sheludko
lgtm with a nit, modulo redness. https://codereview.chromium.org/2430273007/diff/60001/src/code-stub-assembler.cc File src/code-stub-assembler.cc (right): https://codereview.chromium.org/2430273007/diff/60001/src/code-stub-assembler.cc#newcode130 src/code-stub-assembler.cc:130: Node* CodeStubAssembler::IntPtrRoundUpToPowerOfTwo32(Node* word32) ...
4 years, 1 month ago (2016-10-24 12:00:55 UTC) #13
Camillo Bruni
epertoso@ PTAL src/compiler/* https://codereview.chromium.org/2430273007/diff/60001/src/code-stub-assembler.cc File src/code-stub-assembler.cc (right): https://codereview.chromium.org/2430273007/diff/60001/src/code-stub-assembler.cc#newcode130 src/code-stub-assembler.cc:130: Node* CodeStubAssembler::IntPtrRoundUpToPowerOfTwo32(Node* word32) { On 2016/10/24 ...
4 years, 1 month ago (2016-10-24 12:50:45 UTC) #15
epertoso
lgtm for compiler/
4 years, 1 month ago (2016-10-24 13:01:45 UTC) #16
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/2430273007/80001
4 years, 1 month ago (2016-10-24 13:45:51 UTC) #19
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/6756)
4 years, 1 month ago (2016-10-24 14:01:01 UTC) #21
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/2430273007/100001
4 years, 1 month ago (2016-10-24 20:53:14 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_rel_ng/builds/15096) v8_linux_rel_ng_triggered on master.tryserver.v8 (JOB_FAILED, ...
4 years, 1 month ago (2016-10-24 21:49:43 UTC) #26
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/2430273007/120001
4 years, 1 month ago (2016-10-25 08:01:43 UTC) #29
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 1 month ago (2016-10-25 08:30:44 UTC) #30
commit-bot: I haz the power
4 years, 1 month ago (2016-11-17 22:12:04 UTC) #32
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/532c16eca071df3ec8eed394dcebb932ef584ee6
Cr-Commit-Position: refs/heads/master@{#40551}

Powered by Google App Engine
This is Rietveld 408576698