v8/test/unittests/compiler
littledan 53fdf9d192 Use a different map to distinguish eval contexts
eval() may introduce a scope which needs to be represented as a context at
runtime, e.g.,

  eval('var x; let y; ()=>y')

introduces a variable y which needs to have a context allocated for it. However,
when traversing upwards to find the declaration context for a variable which leaks,
as the declaration of x does above, this context has to be understood to not be
a declaration context in sloppy mode.

This patch makes that distinction by introducing a different map for eval-introduced
contexts. A dynamic search for the appropriate context will continue past an eval
context to find the appropriate context. Marking contexts as eval contexts rather
than function contexts required updates in each compiler backend.

BUG=v8:5295, chromium:648719

Review-Url: https://codereview.chromium.org/2435023002
Cr-Commit-Position: refs/heads/master@{#41869}
2016-12-20 16:23:19 +00:00
..
arm [arm] Improve generation of flag setting instructions. 2016-09-05 16:18:42 +00:00
arm64 [arm64] Check sign with TBZ/TBNZ. 2016-09-22 10:24:57 +00:00
ia32 [turbofan] Remove the FloatXXSubPreserveNan operators. 2016-08-08 12:09:50 +00:00
mips MIPS[64]: Disable fusion multiple-accumulate instructions 2016-12-15 11:50:12 +00:00
mips64 MIPS[64]: Disable fusion multiple-accumulate instructions 2016-12-15 11:50:12 +00:00
ppc Update PPC OWNERS 2015-07-27 21:37:55 +00:00
regalloc Move register allocation unittests and constrain owners 2016-12-17 00:24:36 +00:00
s390 S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
x64 [turbofan][X64] Movzxbl/Movsxbl/Movzxwl/Movsxwl also zero extend to 64bit. 2016-10-18 03:40:37 +00:00
branch-elimination-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
bytecode-analysis-unittest.cc [turbofan] Add and use bytecode loop assigment analysis 2016-12-15 13:24:19 +00:00
checkpoint-elimination-unittest.cc [turbofan] Rename {CheckPoint} to {Checkpoint} everywhere. 2016-06-01 09:07:19 +00:00
common-operator-reducer-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
common-operator-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
compiler-test-utils.h [turbofan] Drop V8_TURBOFAN_BACKEND and V8_TURBOFAN_TARGET defines. 2015-08-10 07:17:34 +00:00
control-equivalence-unittest.cc This CL enables precise source positions for all V8 compilers. It merges compiler::SourcePosition and internal::SourcePosition to a single class used throughout the codebase. The new internal::SourcePosition instances store an id identifying an inlined function in addition to a script offset. 2016-11-14 17:22:32 +00:00
control-flow-optimizer-unittest.cc [turbofan] Move TryCloneBranch in the EffectControlLinearizer pass. 2016-07-12 15:23:36 +00:00
dead-code-elimination-unittest.cc [turbofan] Remove IfExceptionHint from exception projections. 2016-08-02 14:49:10 +00:00
diamond-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
effect-control-linearizer-unittest.cc [turbofan] track source positions in EffectControlLinearizer 2016-11-16 15:06:58 +00:00
escape-analysis-unittest.cc [turbofan] Introduce an ExternalPointer type. 2016-11-11 13:04:47 +00:00
graph-reducer-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
graph-reducer-unittest.h [turbofan] Add AdvancedReducer::ReplaceWithValue() method and convert JSInlining to an AdvancedReducer. 2015-05-12 12:41:36 +00:00
graph-trimmer-unittest.cc [turbofan] Proper dead code elimination as regular reducer. 2015-06-19 12:07:26 +00:00
graph-unittest.cc [turbofan] Improve typed lowering rules for JSToBoolean. 2016-11-24 06:37:14 +00:00
graph-unittest.h [turbofan] Improve typed lowering rules for JSToBoolean. 2016-11-24 06:37:14 +00:00
instruction-selector-unittest.cc [turbofan] Avoid allocation of temporary array of Nodes when generating calls. 2016-12-19 11:35:42 +00:00
instruction-selector-unittest.h MIPS[64]: Port '[turbofan] Use zr to store immediate zero' 2016-11-15 11:57:28 +00:00
instruction-sequence-unittest.cc Revert of MIPS: Fix bad RegisterConfiguration usage in InstructionSequence unit tests. (patchset #3 id:40001 of https://codereview.chromium.org/2433093002/ ) 2016-12-16 23:09:34 +00:00
instruction-sequence-unittest.h Revert of MIPS: Fix bad RegisterConfiguration usage in InstructionSequence unit tests. (patchset #3 id:40001 of https://codereview.chromium.org/2433093002/ ) 2016-12-16 23:09:34 +00:00
instruction-unittest.cc [Turbofan] Add concept of FP register aliasing on ARM 32. 2016-10-26 16:04:33 +00:00
int64-lowering-unittest.cc [wasm] Break a cycle with a loop node in the int64-lowering. 2016-11-17 11:51:32 +00:00
js-builtin-reducer-unittest.cc [compiler] Delete extra map check. 2016-11-03 21:25:59 +00:00
js-create-lowering-unittest.cc Use a different map to distinguish eval contexts 2016-12-20 16:23:19 +00:00
js-intrinsic-lowering-unittest.cc [turbofan] Avoid introducing machine operators during typed lowering. 2016-07-25 10:38:00 +00:00
js-operator-unittest.cc Store the ScopeInfo in WithContexts 2016-09-06 08:27:52 +00:00
js-typed-lowering-unittest.cc [compiler] Remove context value input from JSLoadContext and JSStoreContext. 2016-11-30 15:46:08 +00:00
linkage-tail-call-unittest.cc Fix compilation failure when v8 compiled with GCC 5.x due to -Werror=unused-variable 2016-08-05 12:56:40 +00:00
live-range-builder.h [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
liveness-analyzer-unittest.cc [ignition/turbo] Add liveness analysis for the accumulator 2016-10-17 11:48:04 +00:00
load-elimination-unittest.cc [turbofan] Properly look through FinishRegion in alias analysis. 2016-09-01 10:50:27 +00:00
loop-peeling-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
machine-operator-reducer-unittest.cc [wasm] Add a flag --wasm-opt to test optimizations in the WASM pipeline. 2016-11-30 10:36:14 +00:00
machine-operator-unittest.cc [turbofan] Make Float32Neg and Float64Neg mandatory operators. 2016-08-05 18:52:05 +00:00
node-cache-unittest.cc [test] Turn compiler/test-node-cache into a unit test. 2015-04-29 14:40:05 +00:00
node-matchers-unittest.cc [turbofan] Support subtraction displacements in BaseWithIndexAndDisplacementMatcher 2016-07-13 08:03:38 +00:00
node-properties-unittest.cc [turbofan] Remove IfExceptionHint from exception projections. 2016-08-02 14:49:10 +00:00
node-test-utils.cc [interpreter][stubs] Fixing issues found by machine graph verifier. 2016-12-12 14:53:04 +00:00
node-test-utils.h [interpreter][stubs] Fixing issues found by machine graph verifier. 2016-12-12 14:53:04 +00:00
node-unittest.cc [turbofan] Speed up structural graph verification. 2016-07-12 09:31:12 +00:00
opcodes-unittest.cc [unittests] Reduce compilation overhead of opcodes-unittest.cc. 2016-09-13 05:16:18 +00:00
schedule-unittest.cc Model exceptional edges from call nodes in TurboFan. 2015-02-20 09:55:00 +00:00
scheduler-rpo-unittest.cc Replace SmartPointer<T> with unique_ptr<T> 2016-07-25 11:14:34 +00:00
scheduler-unittest.cc This CL enables precise source positions for all V8 compilers. It merges compiler::SourcePosition and internal::SourcePosition to a single class used throughout the codebase. The new internal::SourcePosition instances store an id identifying an inlined function in addition to a script offset. 2016-11-14 17:22:32 +00:00
simplified-operator-reducer-unittest.cc [turbofan] ChangeFloat64ToTagged shouldn't canonicalize. 2016-09-28 06:07:57 +00:00
simplified-operator-unittest.cc [turbofan] Introduce TruncateTaggedToBit operator for ToBoolean truncation. 2016-09-14 13:12:28 +00:00
state-values-utils-unittest.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
tail-call-optimization-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
typed-optimization-unittest.cc [Turbofan] Introduce OtherNumberConstant. 2016-10-06 14:13:53 +00:00
typer-unittest.cc [turbofan] Introduce an ExternalPointer type. 2016-11-11 13:04:47 +00:00
value-numbering-reducer-unittest.cc [turbofan] Make sure value numbering only narrows types. 2016-07-14 08:10:21 +00:00
zone-stats-unittest.cc Named all zones in the project 2016-10-17 12:12:42 +00:00