v8/test/mjsunit/harmony
jarin f0645612c4 This is a first step towards reducing the number of stores/loads when suspending/resuming a generator.
Unfortunately, even for an empty generator, we still use 8 register for various things (try-finally, copies of generator object, parser-introduced temporaries). I will try to get rid of these in separate CLs.

Changes:

- SuspendGenerator bytecode now takes register list to save.
- ResumeGenerator was split into two bytecodes:
  * Resume generator reads the state out and marks the generator as
      'executing'.
  * RestoreGeneratorRegisters reloads the registers from
      the generator.
    + this required adding support for output register list.

- Introduced generator_object_ register in the bytecode generator.
  * in subsequent CLs, I will make better use of it, the goal is
      to get rid if the .generator_object local variable.

- Taught register optimizer to flush unassigned registers.

BUG=v8:6379

Review-Url: https://codereview.chromium.org/2894293003
Cr-Commit-Position: refs/heads/master@{#45675}
2017-06-02 11:55:48 +00:00
..
regress [test] add mjsunit regression tests for v8:6322 2017-05-24 19:06:26 +00:00
array-concat-array-proto-getter.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-array-proto.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-dict-getter.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-dict.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-generic-dict.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
async-from-sync-iterator.js [async-iteration] implement spec change to [Async-from-Sync Iterator] 2017-04-11 12:55:03 +00:00
async-generators-basic.js [async-iteration] implement spec update for yield* in async generators 2017-04-13 14:32:30 +00:00
atomics-value-check.js [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor 2017-04-11 00:09:37 +00:00
atomics.js [SAB] Validate index before value conversion using ToIndex 2017-04-12 19:08:40 +00:00
block-lazy-compile.js Preliminary code for block scopes and block contexts. 2011-08-11 16:29:28 +00:00
dataview-accessors.js Reland of Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex. (patchset #2 id:170001 of https://codereview.chromium.org/2113593002/ ) 2016-08-17 17:38:56 +00:00
default-parameter-do-expression.js Merge DeclarationScope::temps_ and Scope::ordered_variables_ into Scope::locals_ 2016-08-25 19:12:00 +00:00
do-expressions-control.js [fullcodegen] Implement control flow across do-expressions. 2016-02-24 11:06:08 +00:00
do-expressions.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
for-await-of.js [async-iteration] add support for for-await-of loops in Async Functions 2017-02-15 19:39:06 +00:00
function-sent.js Fix behavior of return on yield*. 2016-06-28 07:10:54 +00:00
function-tostring.js Implement new Function.prototype.toString --harmony-function-tostring 2017-02-16 20:19:24 +00:00
futex.js Fix Check failure on OOB access in Atomics.wait 2017-05-31 15:08:52 +00:00
generators-reduced.js This is a first step towards reducing the number of stores/loads when suspending/resuming a generator. 2017-06-02 11:55:48 +00:00
generators.js Remove the --ignition-generators flag. 2016-07-25 12:56:27 +00:00
global-accessors-strict.js Add flag to make __defineGetter__ & co. behave as strict functions 2017-04-18 21:40:14 +00:00
harmony-string-pad-end.js Include harmony-string-padding.js in the context snapshot 2017-01-06 18:56:00 +00:00
harmony-string-pad-start.js Include harmony-string-padding.js in the context snapshot 2017-01-06 18:56:00 +00:00
module-parsing-eval.js Remove --harmony-modules flag and let embedder decide when modules are used 2016-03-15 00:45:00 +00:00
modules-import-1.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-2.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-3.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-4.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-5.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-6.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-7.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-8.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-9.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-10.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-11.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-12.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-13.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-14.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-15.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-1.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-2.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-3.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-4.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-5.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-6.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-7.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-8.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-9.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-empty.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
object-rest-basic.js [pattern rewriter] Only desugar to call %ToName on computed properties 2017-01-21 01:09:47 +00:00
object-spread-basic.js [ESnext] Implement Object Rest 2017-01-18 01:05:17 +00:00
private-symbols.js Remove runtime flags for Proxy and Reflect 2016-03-21 19:40:02 +00:00
private.js Make private symbols non-enumerable 2016-11-11 15:05:29 +00:00
promise-prototype-finally.js [ESnext] Implement Promise.prototype.finally 2017-02-17 22:10:28 +00:00
regexp-change-exec.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-dotall-disabled.js [regexp] Stage the dotall flag 2017-04-04 07:04:20 +00:00
regexp-dotall.js [regexp] Fix passing all flags to RegExp construction 2017-04-25 09:35:22 +00:00
regexp-lookbehind.js [regexp] fix regexp lookbehind with back reference on ARM. 2017-02-27 06:29:47 +00:00
regexp-named-captures.js Revert of [regexp] Support unicode capture names in non-unicode patterns (patchset #3 id:40001 of https://codereview.chromium.org/2791163003/ ) 2017-05-04 12:33:38 +00:00
regexp-property-binary.js [regexp] explicitly whitelist allowed binary property classes. 2017-04-18 10:01:27 +00:00
regexp-property-char-class.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-disabled.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-enumerated.js [regexp] implement latest spec draft for property class. 2016-11-18 06:10:14 +00:00
regexp-property-exact-match.js [regexp] implement latest spec draft for property class. 2016-11-18 06:10:14 +00:00
regexp-property-general-category.js [regexp] implement latest spec draft for property class. 2016-11-18 06:10:14 +00:00
regexp-property-invalid.js [regexp] implement latest spec draft for property class. 2016-11-18 06:10:14 +00:00
regexp-property-lu-ui.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-script-extensions.js [regexp] implement latest spec draft for property class. 2016-11-18 06:10:14 +00:00
regexp-property-scripts.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-property-special.js [regexp] remove \p{Other_ID_Start} and \p{Other_ID_Continue} 2017-04-11 12:40:41 +00:00
regress-generators-resume.js This is a first step towards reducing the number of stores/loads when suspending/resuming a generator. 2017-06-02 11:55:48 +00:00
set-prototype-of.js Fix corner-case behavior of JSObject::SetPrototype. 2015-10-23 14:52:26 +00:00
sharedarraybuffer.js [SAB] Fix {newtarget-prototype-is-not-object,proto-from-ctor-realm} tests 2017-04-08 20:13:45 +00:00
sloppy-legacy-duplicate-generators.js Improve strictness of Annex B 3.3 for generators and async functions 2016-05-27 18:23:20 +00:00
sloppy-no-duplicate-generators.js Improve strictness of Annex B 3.3 for generators and async functions 2016-05-27 18:23:20 +00:00
symbol-async-iterator.js [async-iteration] expose Symbol.asyncIterator behind flag --harmony-async-iteration 2017-01-20 00:42:09 +00:00
template-escapes.js [parser] Correctly handle invalid escapes in adjacent template tokens. 2017-03-03 22:08:57 +00:00
to-length.js [runtime] Implement %_ToLength via ToLengthStub. 2015-10-19 08:35:18 +00:00
to-name.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
to-number.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
to-primitive.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
to-string.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
trailing-commas-length.js Allow trailing commas in function parameter lists 2016-06-29 01:39:10 +00:00