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

Issue 2567333002: [promises] port NewPromiseCapability to TF (Closed)

Created:
4 years ago by caitp
Modified:
3 years, 11 months ago
CC:
v8-reviews_googlegroups.com, Hannes Payer (out of office), ulan, rmcilroy
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[promises] port NewPromiseCapability to TF - Adds CodeAssembler::ConstructJS() to simplify calling JS functions as constructors, used by NewPromiseCapability() - Defines PromiseCapability as a special JSObject subclass, with a non-exensible Map, and read-only non-configurable DataDescriptors which point to its in-object fields. This allows its fields to be used by JS builtins until there is no longer any need. Currently, the performance benefit comes from https://codereview.chromium.org/2567033003/, but does not appear to regress performance in any significant way. BUG=v8:5343 TBR=ulan@chromium.org Review-Url: https://codereview.chromium.org/2567333002 Cr-Commit-Position: refs/heads/master@{#42014} Committed: https://chromium.googlesource.com/v8/v8/+/4f95a1eb5fc22bef9a69e7856b03dbddb40e20ec

Patch Set 1 #

Patch Set 2 : fix cctest #

Patch Set 3 : fix build on that one cranky bot? #

Patch Set 4 : finish fixing compilation on v8_linux64_gyp_rel_ng #

Patch Set 5 : make JSPromiseCapability verifier more lenient and accurate #

Patch Set 6 : remove pointless constant nodes and just use the CSA Foo##Constant() methods instead #

Patch Set 7 : inline call to %new_internal_promise_capability in PerformPromiseThen #

Patch Set 8 : remove unused variable #

Patch Set 9 : refactor some more, but arm64 simulator is still broken :( #

Patch Set 10 : rebase #

Patch Set 11 : add promise hooks stuff and fix bytecode expectations #

Patch Set 12 : make GetCapabilitiesExtractor non-constructor properly, avoid GetProperty stub #

Patch Set 13 : rebase over cc7e0b0eff #

Patch Set 14 : add receiver to Construct call #

Patch Set 15 : rebase #

Patch Set 16 : fix cctests and stuff #

Total comments: 13

Patch Set 17 : more betterness #

Patch Set 18 : git rid of stuff that snuck into patch #

Total comments: 9

Patch Set 19 : rebase #

Patch Set 20 : Add tests #

Patch Set 21 : remove copy/pasted native_context from test #

Patch Set 22 : Make gcmole happy #

Unified diffs Side-by-side diffs Delta from patch set Stats (+541 lines, -159 lines) Patch
M src/ast/ast-types.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +18 lines, -6 lines 0 comments Download
M src/builtins/builtins.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +2 lines, -1 line 0 comments Download
M src/builtins/builtins-promise.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +7 lines, -0 lines 0 comments Download
M src/builtins/builtins-promise.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 6 chunks +180 lines, -76 lines 0 comments Download
M src/code-stub-assembler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +16 lines, -0 lines 0 comments Download
M src/compiler/code-assembler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +13 lines, -0 lines 0 comments Download
M src/compiler/code-assembler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +4 lines, -0 lines 0 comments Download
M src/compiler/types.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M src/contexts.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +38 lines, -39 lines 0 comments Download
M src/heap/heap.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +4 lines, -1 line 0 comments Download
M src/heap/heap.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +39 lines, -0 lines 0 comments Download
M src/heap/objects-visiting.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M src/js/promise.js View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 7 chunks +4 lines, -36 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 chunks +33 lines, -0 lines 0 comments Download
M src/objects-body-descriptors-inl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +1 line, -0 lines 0 comments Download
M src/objects-debug.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +11 lines, -0 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 chunks +8 lines, -0 lines 0 comments Download
M src/objects-printer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +1 line, -0 lines 0 comments Download
M src/promise-utils.h View 1 2 3 4 5 6 7 8 9 1 chunk +10 lines, -0 lines 0 comments Download
M test/cctest/test-code-stub-assembler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +149 lines, -0 lines 0 comments Download

Messages

Total messages: 103 (81 generated)
caitp
Hi, PTAL I'm wondering if anyone knows if CSA CallRuntime actually works with the arm64 ...
4 years ago (2016-12-14 17:02:44 UTC) #22
caitp
On 2016/12/14 17:02:44, caitp wrote: > Hi, PTAL > > I'm wondering if anyone knows ...
4 years ago (2016-12-17 00:18:20 UTC) #49
Benedikt Meurer
Rodolph: Can you shed some light on this?
4 years ago (2016-12-17 11:45:07 UTC) #51
Rodolph Perfetta
On 2016/12/17 11:45:07, Benedikt Meurer wrote: > Rodolph: Can you shed some light on this? ...
4 years ago (2016-12-19 13:47:10 UTC) #52
caitp
On 2016/12/19 13:47:10, Rodolph Perfetta wrote: > On 2016/12/17 11:45:07, Benedikt Meurer wrote: > > ...
4 years ago (2016-12-19 23:38:53 UTC) #53
georgia.kouveli
On 2016/12/19 23:38:53, caitp wrote: > On 2016/12/19 13:47:10, Rodolph Perfetta wrote: > > On ...
3 years, 12 months ago (2016-12-20 15:38:16 UTC) #54
caitp
On 2016/12/20 15:38:16, georgia.kouveli wrote: > On 2016/12/19 23:38:53, caitp wrote: > > On 2016/12/19 ...
3 years, 12 months ago (2016-12-20 15:55:47 UTC) #55
gsathya
Nice! once https://codereview.chromium.org/2590563003/ lands we can remove NewInternalPromiseCapability https://codereview.chromium.org/2567333002/diff/300001/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/2567333002/diff/300001/src/bootstrapper.cc#newcode1849 src/bootstrapper.cc:1849: isolate); ...
3 years, 12 months ago (2016-12-21 01:02:33 UTC) #64
Igor Sheludko
https://codereview.chromium.org/2567333002/diff/300001/src/builtins/builtins-promise.cc File src/builtins/builtins-promise.cc (right): https://codereview.chromium.org/2567333002/diff/300001/src/builtins/builtins-promise.cc#newcode34 src/builtins/builtins-promise.cc:34: StoreContextElement(context, GetPromiseCapabilityExecutor::kCapabilitySlot, On 2016/12/21 01:02:33, gsathya wrote: > StoreContextElementNoWriteBarrier ...
3 years, 12 months ago (2016-12-21 12:00:45 UTC) #65
gsathya
https://codereview.chromium.org/2567333002/diff/300001/src/builtins/builtins.h File src/builtins/builtins.h (right): https://codereview.chromium.org/2567333002/diff/300001/src/builtins/builtins.h#newcode575 src/builtins/builtins.h:575: TFJ(CreateResolvingFunctions, 2) \ Can we remove this builtin?
3 years, 12 months ago (2016-12-21 19:43:25 UTC) #66
caitp
think those are taken care of https://codereview.chromium.org/2567333002/diff/300001/src/bootstrapper.cc File src/bootstrapper.cc (right): https://codereview.chromium.org/2567333002/diff/300001/src/bootstrapper.cc#newcode1849 src/bootstrapper.cc:1849: isolate); On 2016/12/21 ...
3 years, 12 months ago (2016-12-21 21:01:13 UTC) #69
Igor Sheludko
lgtm with a nit: https://codereview.chromium.org/2567333002/diff/340001/src/code-stub-assembler.h File src/code-stub-assembler.h (right): https://codereview.chromium.org/2567333002/diff/340001/src/code-stub-assembler.h#newcode1212 src/code-stub-assembler.h:1212: int argc_index = state->parameter_count() - ...
3 years, 11 months ago (2016-12-27 14:14:02 UTC) #70
gsathya
lgtm https://codereview.chromium.org/2567333002/diff/340001/src/builtins/builtins-promise.cc File src/builtins/builtins-promise.cc (right): https://codereview.chromium.org/2567333002/diff/340001/src/builtins/builtins-promise.cc#newcode41 src/builtins/builtins-promise.cc:41: Label if_builtin_promise(this), if_custom_promise(this), out(this); if_custom_promise can be deferred ...
3 years, 11 months ago (2016-12-29 21:48:47 UTC) #71
gsathya
https://codereview.chromium.org/2567333002/diff/340001/src/builtins/builtins-promise.h File src/builtins/builtins-promise.h (right): https://codereview.chromium.org/2567333002/diff/340001/src/builtins/builtins-promise.h#newcode44 src/builtins/builtins-promise.h:44: Node* CreatePromiseContext(Node* native_context, int slots); Can you please add ...
3 years, 11 months ago (2016-12-30 02:35:42 UTC) #72
Benedikt Meurer
LGTM on compiler.
3 years, 11 months ago (2016-12-30 07:39:59 UTC) #73
caitp
On 2016/12/30 07:39:59, Benedikt Meurer wrote: > LGTM on compiler. I'll finish this up on ...
3 years, 11 months ago (2016-12-30 16:11:01 UTC) #74
caitp
I think this is ready to go, will CQ shortly. https://codereview.chromium.org/2567333002/diff/340001/src/builtins/builtins-promise.h File src/builtins/builtins-promise.h (right): https://codereview.chromium.org/2567333002/diff/340001/src/builtins/builtins-promise.h#newcode44 ...
3 years, 11 months ago (2017-01-02 15:51:12 UTC) #81
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/2567333002/420001
3 years, 11 months ago (2017-01-02 17:16:13 UTC) #94
Rodolph.Perfetta_arm.com
I am out of office until the 2nd of January 2017 I will reply to ...
3 years, 11 months ago (2017-01-02 17:16:22 UTC) #95
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/31498)
3 years, 11 months ago (2017-01-02 17:19:23 UTC) #97
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/2567333002/420001
3 years, 11 months ago (2017-01-02 17:20:53 UTC) #100
commit-bot: I haz the power
3 years, 11 months ago (2017-01-02 17:22:38 UTC) #103
Message was sent while issue was closed.
Committed patchset #22 (id:420001) as
https://chromium.googlesource.com/v8/v8/+/4f95a1eb5fc22bef9a69e7856b03dbddb40...

Powered by Google App Engine
This is Rietveld 408576698