v8/test/unittests/interpreter
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
..
bytecode-array-builder-unittest.cc Use a different map to distinguish eval contexts 2016-12-20 16:23:19 +00:00
bytecode-array-iterator-unittest.cc [ic] Pass name to LoadGlobalIC again. 2016-11-16 18:17:49 +00:00
bytecode-array-random-iterator-unittest.cc [ignition] Rewrite reverse iterator as random iterator 2016-12-05 13:03:43 +00:00
bytecode-array-writer-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
bytecode-dead-code-optimizer-unittest.cc [Interpreter] Optimize the Register Optimizer. 2016-10-24 20:47:53 +00:00
bytecode-decoder-unittest.cc [Interpreter]: Add kRegList operand type for register list operands. 2016-10-05 16:14:32 +00:00
bytecode-operands-unittest.cc [Interpreter] Templatize AccumulatorUsage and OperandType for bytecode creation. 2016-12-15 07:56:21 +00:00
bytecode-peephole-optimizer-unittest.cc [Interpreter] Templatize AccumulatorUsage and OperandType for bytecode creation. 2016-12-15 07:56:21 +00:00
bytecode-pipeline-unittest.cc [Interpreter] Templatize AccumulatorUsage and OperandType for bytecode creation. 2016-12-15 07:56:21 +00:00
bytecode-register-allocator-unittest.cc [Interpreter] Allocate registers used as call arguments on-demand. 2016-12-15 10:59:57 +00:00
bytecode-register-optimizer-unittest.cc [Interpreter] Templatize AccumulatorUsage and OperandType for bytecode creation. 2016-12-15 07:56:21 +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 Enable -Wsign-compare compiler warnings. 2016-11-14 10:49:15 +00:00
interpreter-assembler-unittest.cc [interpreter][stubs] Fixing issues found by machine graph verifier. 2016-12-12 14:53:04 +00:00
interpreter-assembler-unittest.h Reland of [refactoring] Split CodeAssemblerState out of CodeAssembler 2016-11-16 11:48:38 +00:00