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

Issue 1779123003: [compiler] Sidestep optimizing of generator resumers. (Closed)

Created:
4 years, 9 months ago by Michael Starzinger
Modified:
4 years, 9 months ago
Reviewers:
neis, rmcilroy
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@local_interpreter-generators-disable-1
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[compiler] Sidestep optimizing of generator resumers. This ensures our optimizing compilers as well as the interpreter are never tasked with compiling the generator-resuming builtin methods. The corresponding intrinsics for those methods are not supported and it is not possible to provide a C++ reference implementation for them. We do this by assigning builtin function ids to them that we can recognize during the compiler dispatch. Note that this also affects the interpreter, because methods having a builtin function id assigned are not interpreted ({function_data} field is overlapping). If this ever changes we can still do an early check in the compiler dispatch (similar to the optimizing compilers) easily. This applies to the following methods: - Generator.prototype.next (calls Runtime_GeneratorNext). - Generator.prototype.return (calls Runtime_GeneratorReturn). - Generator.prototype.throw (calls Runtime_GeneratorThrow). R=neis@chromium.org BUG=v8:4681 LOG=n Committed: https://crrev.com/855176533c6e64d31b789c85dc86ab60ad5bfc70 Cr-Commit-Position: refs/heads/master@{#34675}

Patch Set 1 #

Total comments: 2

Patch Set 2 : More tests. #

Patch Set 3 : Rebased. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+47 lines, -184 lines) Patch
M src/bailout-reason.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/bootstrapper.cc View 1 2 1 chunk +31 lines, -0 lines 0 comments Download
M src/compiler.cc View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 2 1 chunk +1 line, -11 lines 0 comments Download
M src/objects.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M src/runtime/runtime-generator.cc View 1 chunk +3 lines, -6 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 2 2 chunks +0 lines, -21 lines 0 comments Download
M test/test262/test262.status View 3 chunks +0 lines, -146 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 15 (8 generated)
Michael Starzinger
Georg: PTAL at the implementation. Ross: FYI about interpreter.
4 years, 9 months ago (2016-03-10 12:31:13 UTC) #2
neis
Thanks, LGTM. Can you just add a comment saying where the bailout in the interpreter ...
4 years, 9 months ago (2016-03-10 12:50:53 UTC) #4
rmcilroy
Great, approach LGTM if Georg agrees. https://codereview.chromium.org/1779123003/diff/1/test/mjsunit/mjsunit.status File test/mjsunit/mjsunit.status (right): https://codereview.chromium.org/1779123003/diff/1/test/mjsunit/mjsunit.status#newcode827 test/mjsunit/mjsunit.status:827: 'es6/classes-subclass-builtins': [FAIL], Still ...
4 years, 9 months ago (2016-03-10 12:50:56 UTC) #5
Michael Starzinger
Thanks. Comment added to CL description. Typos fixed (hopefully). Preparing to land. https://codereview.chromium.org/1779123003/diff/1/test/mjsunit/mjsunit.status File test/mjsunit/mjsunit.status ...
4 years, 9 months ago (2016-03-10 13:06:37 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1779123003/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1779123003/40001
4 years, 9 months ago (2016-03-10 14:02:10 UTC) #11
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 9 months ago (2016-03-10 14:06:09 UTC) #13
commit-bot: I haz the power
4 years, 9 months ago (2016-03-10 14:07:19 UTC) #15
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/855176533c6e64d31b789c85dc86ab60ad5bfc70
Cr-Commit-Position: refs/heads/master@{#34675}

Powered by Google App Engine
This is Rietveld 408576698