v8/test/unittests/interpreter
Caitlin Potter 53553f5dcb [generators] remove SuspendFlags enum and related code
SuspendFlags was originally used by the suspend operation to determine
which field to record the bytecode offset of a suspended generator, and
the value the generator was resumed with. For async generators, await
operations would use a separate field, in order to preserve the previous
yield input value. This was important to ensure `function.sent`
continued to function correctly.

As function.sent is being retired, this allows the removal of support
for that. Given that this was the only real need for SuspendFlags in the
first place (with other uses tacked on as a hack), this involves several
other changes as well:

- Modification of MacroAssembler AssertGeneratorObject. No longer
  accepts a SuspendFlags parameter to determine which type of check to
  perform.
- Removal of `flags` operand from SuspendGenerator bytecode, and the
  GeneratorStore js-operator.
- Removal of `flags` parameter from ResumeGeneratorTrampoline builtins.
- Removal of Runtime functions, interpreter intrinsics and
  AccessBuilders associated with the [[await_input_or_debug_pos]] field
  in JSAsyncGeneratorObject, as this field no longer exists.
- Addition of a new `Yield` AST node (subclass of Suspend) in order to
  prevent the need for the other SuspendFlag values.

BUG=v8:5855
TBR=bmeurer@chromium.org

Change-Id: Iff2881e4742497fe5b774915e988c3d9d8fbe487
Reviewed-on: https://chromium-review.googlesource.com/570485
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46683}
2017-07-14 16:09:53 +00:00
..
bytecode-array-builder-unittest.cc [generators] remove SuspendFlags enum and related code 2017-07-14 16:09:53 +00:00
bytecode-array-iterator-unittest.cc [ignition] Remove handles from bytecode generation 2017-02-10 17:52:39 +00:00
bytecode-array-random-iterator-unittest.cc [ignition] Remove handles from bytecode generation 2017-02-10 17:52:39 +00:00
bytecode-array-writer-unittest.cc Revert "[ignition] Merge bytecode array builder and writer" 2017-06-27 09:10:18 +00:00
bytecode-decoder-unittest.cc Reland: [ignition] Add call bytecodes for undefined receiver 2017-04-11 15:52:37 +00:00
bytecode-node-unittest.cc Revert "[ignition] Merge bytecode array builder and writer" 2017-06-27 09:10:18 +00:00
bytecode-operands-unittest.cc [Interpreter] Templatize AccumulatorUsage and OperandType for bytecode creation. 2016-12-15 07:56:21 +00:00
bytecode-register-allocator-unittest.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
bytecode-register-optimizer-unittest.cc [Interpreter] Remove BytecodePipeline. 2017-04-12 15:18:50 +00:00
bytecode-source-info-unittest.cc [Interpreter] Remove BytecodePipeline. 2017-04-12 15:18:50 +00:00
bytecode-utils.h [interpreter] Introduce bytecode generation pipeline. 2016-05-12 19:20:04 +00:00
bytecodes-unittest.cc [ignition] Optimize jump checks to range checks 2016-12-05 18:26:26 +00:00
constant-array-builder-unittest.cc [ignition] Remove handles from bytecode generation 2017-02-10 17:52:39 +00:00
interpreter-assembler-unittest.cc [cleanup] Remove always-off support for tail calls 2017-07-13 19:29:05 +00:00
interpreter-assembler-unittest.h [turbofan] Remove virtual methods from CodeAssembler. 2016-12-28 15:47:34 +00:00