v8/test/cctest
adamk 51c186dd98 Centralize and standardize logic for ExpressionClassifier accumulation
Previously the calls to ExpressionClassifier::Accumulate() each chose
slightly different sets of productions to accumulate, and it turned
out that these were in some cases broader than needed and in some
cases less broad.

The existence of some grab-bag production bitmasks like
ExpressionClassifier::ExpressionProductions made this situation more
error-prone (for example, that production was missing AsyncArrowFormalParametersProduction).

This patch removes all "grab-bags" besides AllProductions. In some of
the places where code was using those grab-bags for convenience, it
switches them to use negation of AllProductions. In other, specifically
those having to do with expressions that are disallowed anywhere in
a sub-expression of a parameter list, I've added a new method on
ExpressionClassifier to centralize the logic.

The aforementioned centralization/addition of
AsyncArrowFormalParametersProduction fixes several cases where we were
failing to report an error for 'await' in some contexts; I've added
those test cases.

The patch also narrows all cases to exactly the set or productions
necessary, with a comment on each explaining the choice.

BUG=v8:4483

Review-Url: https://codereview.chromium.org/2271063002
Cr-Commit-Position: refs/heads/master@{#38918}
2016-08-25 16:59:45 +00:00
..
asmjs [Asm.js] Prevents assignments to immutables. 2016-08-23 18:08:42 +00:00
compiler Reland of [turbofan] Insert dummy values when changing from None type. 2016-08-25 16:58:13 +00:00
heap [heap] Switch to 500k pages 2016-08-25 16:26:32 +00:00
interpreter [interpreter] Make the binary op with Smi bytecode handlers collect type feedback. 2016-08-23 14:59:33 +00:00
libplatform [Tracing] Minor bugs fix. 2016-08-10 21:07:48 +00:00
libsampler Move SimulatorHelper into V8 out of profiler clients. 2016-08-10 17:12:27 +00:00
wasm [v8][wasm] Handles finally in try/finally blocks. 2016-08-23 22:14:52 +00:00
BUILD.gn [gn] add missing suppressions for linker warnings on windows 2016-08-22 16:50:34 +00:00
cctest_exe.isolate [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00
cctest.cc [icu] Support loading data file from default location 2016-06-08 12:11:34 +00:00
cctest.gyp [v8][wasm] Handles finally in try/finally blocks. 2016-08-23 22:14:52 +00:00
cctest.h Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
cctest.isolate [Interpreter] Refactor bytecode generator test suite. 2016-02-25 12:07:19 +00:00
cctest.status [test] Skip flaky sampler and cpu-profiler tests on windows. 2016-08-12 08:34:11 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
expression-type-collector-macros.h Make typing-asm match spec more closely around load/store, add more tests. 2015-11-30 21:11:47 +00:00
gay-fixed.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-fixed.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-precision.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-precision.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-shortest.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-shortest.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
log-eq-of-logging-and-traversal.js Fix test-log/EquivalenceOfLoggingAndTraversal 2013-08-26 14:56:23 +00:00
OWNERS [wasm] Drop old typing-asm and its tests. 2016-07-14 00:06:34 +00:00
print-extension.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
print-extension.h Remove deprecated functions the smaller half of the remaing tests 2015-11-17 12:42:44 +00:00
profiler-extension.cc Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +00:00
profiler-extension.h Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +00:00
test-access-checks.cc Add API to create a "remote" instance of a given FunctionTemplate 2016-07-19 12:22:37 +00:00
test-accessors.cc Interceptors expect the receiver to always be an JSReceiver. 2016-05-12 11:06:11 +00:00
test-api-accessors.cc Generalize 'fast accessor' tests to work with --always-opt. 2016-01-14 14:25:02 +00:00
test-api-fast-accessor-builder.cc Fix FastAccessorToSmi CCTest to use ptr type 2016-08-24 17:05:00 +00:00
test-api-interceptors.cc [test] Remove unused dependency. 2016-08-22 12:49:58 +00:00
test-api.cc [Interpreter] Avoid dereferencing handles on BytecodeGenerator for AST operations. 2016-08-10 09:33:20 +00:00
test-api.h Reland of place all remaining Oddball checks with new function (patchset #1 id:1 of https://codereview.chromium.org/2060213002/ ) 2016-06-14 10:09:38 +00:00
test-array-list.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-assembler-arm64.cc [arm64] Avoid signed arithmetic in AddWithCarry. 2016-07-20 09:15:35 +00:00
test-assembler-arm.cc [arm] Clean up the use of UNALIGNED_ACCESSES. 2016-07-27 13:28:02 +00:00
test-assembler-ia32.cc [ia32] Fixes a wrong use of Operand in a test. 2016-06-29 08:53:55 +00:00
test-assembler-mips64.cc MIPS: Fix unbounded label counter. 2016-04-28 11:01:12 +00:00
test-assembler-mips.cc MIPS: Fix unbounded label counter. 2016-04-28 11:01:12 +00:00
test-assembler-ppc.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-assembler-s390.cc PPC: [build] Fix a clang warning 2016-05-25 15:29:15 +00:00
test-assembler-x64.cc [x64] fixed "vmovups reg, mem" 2016-07-19 03:14:10 +00:00
test-assembler-x87.cc X87: [ia32] Fixes a wrong use of Operand in a test. 2016-07-04 04:23:19 +00:00
test-ast.cc Move RelocInfo::kNoPosition. 2016-06-30 09:29:30 +00:00
test-atomicops.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bignum-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bignum.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bit-vector.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
test-circular-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-cache.cc This commit is the first step towards emitting unwinding information in 2016-06-27 15:10:41 +00:00
test-code-layout.cc This commit is the first step towards emitting unwinding information in 2016-06-27 15:10:41 +00:00
test-code-stub-assembler.cc [builtins] support exception handling in TFJ builtins 2016-08-22 15:58:13 +00:00
test-code-stubs-arm64.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-arm.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-ia32.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-mips64.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-mips.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-x64.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-x87.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs.cc Fix cctest/test-code-stubs-mips64/ConvertDToI failure on big-endian architectures 2016-07-25 13:26:56 +00:00
test-code-stubs.h Introduce x87 port 2014-05-23 16:37:27 +00:00
test-compiler.cc [interpreter] Allow mixed stacks if bytecode is preserved. 2016-08-23 07:41:01 +00:00
test-constantpool.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-conversions.cc Remove unused isolate parameter from NumberToSize and TryNumberToSize 2016-08-08 15:56:47 +00:00
test-cpu-profiler.cc [turbofan] Fix TickEvents cctest typo. 2016-08-09 12:08:45 +00:00
test-date.cc Only count legacy parser usage if legacy parser had effect. 2016-06-22 18:07:47 +00:00
test-debug.cc [debugger] separate break point info from code instrumentation. 2016-08-12 06:06:49 +00:00
test-decls.cc cctest: put some types into anonymous namespace. 2016-08-10 16:46:33 +00:00
test-deoptimization.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-dictionary.cc [keys] support shadowing keys in the KeyAccumulator 2016-06-28 13:33:31 +00:00
test-disasm-arm64.cc Add {lda,stl}x?r{,b,h} instructions to ARM64 assembler/disassembler 2016-05-19 20:10:05 +00:00
test-disasm-arm.cc Add ldrex and strex instructions to ARM assembler/disassmbler 2016-05-19 19:13:12 +00:00
test-disasm-ia32.cc [Turbofan] Add ia32 support for 4 and 16 byte moves and swaps. 2016-07-13 13:54:39 +00:00
test-disasm-mips64.cc Implement byte swapping instructions on MIPS32 and MIPS64. 2016-06-27 14:36:40 +00:00
test-disasm-mips.cc Implement byte swapping instructions on MIPS32 and MIPS64. 2016-06-27 14:36:40 +00:00
test-disasm-ppc.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-s390.cc S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
test-disasm-x64.cc [x64]: add cmpps/cmppd instructions 2016-08-03 15:25:28 +00:00
test-disasm-x87.cc [ic] Split LoadIC into LoadGlobalIC and LoadIC. 2016-06-14 13:21:28 +00:00
test-diy-fp.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-double.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-elements-kind.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-experimental-extra.js Add experimental, non-snapshotted V8 extras 2015-08-20 00:01:14 +00:00
test-extra.js [bootstrapper] extra natives must not use natives syntax. 2016-02-05 12:33:55 +00:00
test-fast-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-feedback-vector.cc [Interpreter] Assign feedback slots for binary operations and use them in ignition. 2016-08-08 01:16:40 +00:00
test-feedback-vector.h The metadata part of TypeFeedbackVector is extracted to TypeFeedbackMetadata array. 2015-10-07 10:33:32 +00:00
test-field-type-tracking.cc Include only stuff you need, part 4: ast, scopes + fallout. 2016-08-23 12:35:36 +00:00
test-fixed-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-flags.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-func-name-inference.cc [interpreter] VisitForTest for bytecode generator 2016-08-15 13:10:59 +00:00
test-fuzz-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-global-handles.cc Introduce a new phantom weakness type without finalization callback. 2016-05-09 07:18:00 +00:00
test-global-object.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-hashing.cc S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
test-hashmap.cc Move hashmap into src/base. 2016-06-09 18:00:31 +00:00
test-heap-profiler.cc Do not mark dependent_code arrays as weak in heap snapshot. 2016-08-02 15:20:44 +00:00
test-hydrogen-types.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-identity-map.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-inobject-slack-tracking.cc Refactor Object.prototype.toString() to use the instance type instead of class_name(). 2016-06-23 14:40:47 +00:00
test-javascript-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-js-arm64-variables.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-list.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-liveedit.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
test-lockers.cc Replace SmartPointer<T> with unique_ptr<T> 2016-07-25 11:14:34 +00:00
test-log-stack-tracer.cc Expose TickSample and its APIs in v8-profiler.h 2016-07-06 18:40:31 +00:00
test-log.cc Revert of [heap] Do not invoke GC to make heap iterable. (patchset #3 id:40001 of https://codereview.chromium.org/1992913004/ ) 2016-05-31 17:43:15 +00:00
test-macro-assembler-arm.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-macro-assembler-ia32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-macro-assembler-mips64.cc MIPS: [compiler] [wasm] Introduce Word32/64ReverseBytes as TF Optional Opcode. 2016-08-16 13:07:37 +00:00
test-macro-assembler-mips.cc MIPS: [compiler] [wasm] Introduce Word32/64ReverseBytes as TF Optional Opcode. 2016-08-16 13:07:37 +00:00
test-macro-assembler-x64.cc [x64] add Absps/d and Negps/d macro 2016-07-21 11:02:42 +00:00
test-macro-assembler-x87.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-mementos.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-object.cc Move NoSideEffectToString to C++ 2016-08-03 12:22:23 +00:00
test-parsing.cc Centralize and standardize logic for ExpressionClassifier accumulation 2016-08-25 16:59:45 +00:00
test-platform-linux.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-platform-win32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-platform.cc S390:Update inline asm constraint in test-platform 2016-07-16 15:36:45 +00:00
test-profile-generator.cc Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +00:00
test-random-number-generator.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-receiver-check-hidden-prototype.cc Fix the receiver check in the HandleFastApiCall builtin. 2016-01-14 12:24:04 +00:00
test-regexp.cc Replace SmartArrayPointer<T> with unique_ptr<T[]> 2016-07-25 10:27:47 +00:00
test-representation.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-run-wasm-relocation-arm64.cc V8: Fix OS X build of ARM 64 test. 2016-05-09 17:30:56 +00:00
test-run-wasm-relocation-arm.cc Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. 2016-05-04 20:20:50 +00:00
test-run-wasm-relocation-ia32.cc Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. 2016-05-04 20:20:50 +00:00
test-run-wasm-relocation-x64.cc Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. 2016-05-04 20:20:50 +00:00
test-run-wasm-relocation-x87.cc X87: Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. 2016-05-06 07:31:04 +00:00
test-sampler-api.cc S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
test-serialize.cc [heap] Switch to 500k pages 2016-08-25 16:26:32 +00:00
test-simd.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-slots-buffer.cc [heap] Harden heap-related cctests 2016-05-20 13:32:50 +00:00
test-strings.cc Reland of place all remaining Oddball checks with new function (patchset #1 id:1 of https://codereview.chromium.org/2060213002/ ) 2016-06-14 10:09:38 +00:00
test-strtod.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-symbols.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-thread-termination.cc Move Error methods to C++ 2016-07-20 13:05:47 +00:00
test-threads.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-trace-event.cc [Tracing] Remove deprecated AddTraceEvent 2016-03-01 21:20:48 +00:00
test-transitions.cc Don't include field-type.h/field-index.h into property.h 2016-02-16 13:28:47 +00:00
test-typedarrays.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-types.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
test-unbound-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unboxed-doubles.cc [heap] Untangle Marking and friends from heap dependencies. 2016-07-12 15:10:52 +00:00
test-unique.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
test-unscopables-hidden-prototype.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-usecounters.cc add use counters for __defineGetter__ failing 2016-06-24 22:05:03 +00:00
test-utils-arm64.cc [build] Fix header-hygiene warnings for arm64 2016-07-25 18:16:26 +00:00
test-utils-arm64.h [build] Fix header-hygiene warnings for arm64 2016-07-25 18:16:26 +00:00
test-utils.cc [serializer] split up src/snapshot/serialize.* 2016-03-01 14:44:08 +00:00
test-version.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-weakmaps.cc [heap] Harden heap-related cctests 2016-05-20 13:32:50 +00:00
test-weaksets.cc [heap] Harden heap-related cctests 2016-05-20 13:32:50 +00:00
testcfg.py [test] Fix deterministic test shards. 2016-03-31 07:38:22 +00:00
trace-extension.cc Expose TickSample and its APIs in v8-profiler.h 2016-07-06 18:40:31 +00:00
trace-extension.h Expose TickSample and its APIs in v8-profiler.h 2016-07-06 18:40:31 +00:00
types-fuzz.h [turbofan] Remove representation axis for float64 fields. 2016-08-17 11:15:40 +00:00