v8/test/mjsunit/es6
yangguo 089edbfa97 [debugger] fix debug-evaluate wrt shadowed context var.
Debug-evaluate used to resolve stack variables that shadow
context variables incorrectly, since the stack variable is
not visible in the context chain.

To fix this, we limit local variables accessible by debug-
evaluate to the ones directly referenced inside the function.
What is not referenced by the function itself, is considered
optimized out and not accessible by debug-evaluate.

To achieve this, we duplicate the entire context chain up to
the native context, and write back changes after debug-
evaluate. Changes to the original context chain will however
be overwritten. This already happens for catch and block
scopes though.

Also fix a crash caused by declaring variables inside debug-
evaluate.

R=mstarzinger@chromium.org
BUG=v8:4593
LOG=N

Review URL: https://codereview.chromium.org/1500933002

Cr-Commit-Position: refs/heads/master@{#32828}
2015-12-14 10:25:11 +00:00
..
debug-promises Unstage non-standard Promise functions 2015-12-10 23:58:26 +00:00
regress Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
arguments-iterator.js Fixing Sloppy Symbol.iterator setter 2015-09-14 07:22:35 +00:00
array-copywithin.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-fill.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-find.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-findindex.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-from.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-iterator.js [es6] Array.prototype[Symbol.iterator].name should be 'values' 2015-07-23 05:50:47 +00:00
array-length.js Ship Harmony ToLength 2015-11-05 00:45:05 +00:00
array-of.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-reverse-order.js Array.prototype.reverse should call [[HasProperty]] on elements before [[Get]] 2015-07-16 23:12:23 +00:00
array-tostring.js Update harmony Object.prototype.toString to 2/2/2015 spec 2015-02-03 17:45:20 +00:00
arrow-functions-lexical-arguments.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
arrow-functions-this.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
arrow-functions.js [parser] fix token end position for regexp literals 2015-10-09 01:02:02 +00:00
arrow-rest-params-lazy-parsing.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
arrow-rest-params.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
block-conflicts.js Add class to existing lexical scoping tests 2015-08-12 18:43:06 +00:00
block-const-assign.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
block-early-errors.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
block-for.js Adapt tests in preparation of shipping --harmony-completion. 2015-10-23 10:26:01 +00:00
block-leave.js [es6] Initial support for let/const bindings in sloppy mode 2015-07-08 15:04:13 +00:00
block-let-crankshaft.js %GetOptimizationStatus(): Unconditionally return a sentinel when --always-opt is present 2015-04-14 14:57:48 +00:00
block-let-declaration.js Add class to existing lexical scoping tests 2015-08-12 18:43:06 +00:00
block-let-semantics.js Add class to existing lexical scoping tests 2015-08-12 18:43:06 +00:00
block-non-strict-errors.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
block-scoping-top-level.js Stack allocate lexical locals + hoist stack slots 2015-04-22 13:22:18 +00:00
block-scoping.js [turbofan] Initial support for monomorphic/polymorphic property loads. 2015-10-19 05:24:51 +00:00
built-in-accessor-names.js Revert of Add %TypedArray% to proto chain (patchset #6 id:100001 of https://codereview.chromium.org/1186733002/) 2015-06-17 09:05:51 +00:00
class-computed-property-names-super.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
class-property-name-eval-arguments.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-experimental.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-lazy-parsing.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-maps.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-proxy.js [runtime] [proxy] implement [[Construct]] 2015-12-09 14:55:33 +00:00
classes-subclass-arrays.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-subclass-builtins.js Fix Function subclassing. 2015-12-10 17:28:08 +00:00
classes.js [crankshaft] Do not optimize ClassConstructor calls and apply. 2015-11-05 19:21:20 +00:00
classof-proxy.js Fix Object.prototype.toString.call(proxy) 2015-12-11 15:57:30 +00:00
collection-iterator.js Add remaining @@toStringTag symbols to builtins 2014-10-24 19:29:10 +00:00
collections.js [es6] Map/Set size getter should have "get size" name 2015-04-24 18:15:59 +00:00
computed-property-names-classes.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
computed-property-names-deopt.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
computed-property-names-object-literals-methods.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
computed-property-names-super.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
computed-property-names.js [es6] Fix computed property names in nested literals 2015-08-25 21:10:44 +00:00
debug-blockscopes.js Debugger: use FrameInspector in ScopeIterator to find context. 2015-07-20 08:53:39 +00:00
debug-break-default-constructor.js [crankshaft] Do not optimize ClassConstructor calls and apply. 2015-11-05 19:21:20 +00:00
debug-evaluate-arrow-function-receiver.js [debugger] fix debug-evaluate wrt shadowed context var. 2015-12-14 10:25:11 +00:00
debug-evaluate-blockscopes.js Debugger: require debugger to be active when dealing with breaks. 2015-06-16 07:11:21 +00:00
debug-function-scopes.js Debugger: move implementation to a separate folder. 2015-07-31 11:08:15 +00:00
debug-liveedit-new-target-1.js Reland of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493863004/ ) 2015-12-03 20:21:36 +00:00
debug-liveedit-new-target-2.js Reland of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493863004/ ) 2015-12-03 20:21:36 +00:00
debug-liveedit-new-target-3.js Reland of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493863004/ ) 2015-12-03 20:21:36 +00:00
debug-step-into-class-extends.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
debug-step-into-constructor.js [crankshaft] Do not optimize ClassConstructor calls and apply. 2015-11-05 19:21:20 +00:00
debug-step-into-regexp-subclass.js [debugger] flood function for stepping before calling it. 2015-11-26 14:12:18 +00:00
debug-stepin-collections-foreach.js Enable ES6 Map and Set by default 2014-08-05 19:37:32 +00:00
debug-stepin-generators.js Support stepping into generator function. 2014-09-17 12:27:16 +00:00
debug-stepin-microtasks.js Add a --harmony-object-observe runtime flag (on by default) 2015-08-04 20:53:32 +00:00
debug-stepin-string-template.js [debugger] add test case for stepping into string template. 2015-12-07 09:41:01 +00:00
debug-stepnext-for.js Improve rendering of callsite with non-function target. 2015-12-02 18:37:29 +00:00
empty-for.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
for-of.js [es6] allow any LeftHandSideExpression in for-of loops 2015-11-05 06:47:56 +00:00
function-length-configurable.js [es6] Function length property should be configurable 2015-03-13 17:19:53 +00:00
function-name-configurable.js [es6] Function.prototype.name should be the empty string 2015-04-23 00:29:27 +00:00
function-prototype-name.js [es6] Function.prototype.name should be the empty string 2015-04-23 00:29:27 +00:00
generators-debug-liveedit.js Debugger: remove unused JS Debugger API. 2015-03-26 08:15:45 +00:00
generators-debug-scopes.js harmony-scoping: Implement debugger support for script scope. 2014-11-17 17:58:12 +00:00
generators-iteration.js Leaving a generator via an exception causes it to close 2014-11-12 14:29:22 +00:00
generators-mirror.js Expose generator object internal properties via mirrors. 2014-11-28 14:49:08 +00:00
generators-objects.js Remove invalid assertion 2015-04-01 15:22:19 +00:00
generators-parsing.js [es6] Fix parsing of 'yield' in function and generator expressions 2015-11-23 21:34:30 +00:00
generators-poisoned-properties.js [es6] do not add caller/arguments to ES6 function definitions 2015-04-09 22:40:28 +00:00
generators-relocation.js Debugger: require debugger to be active when dealing with breaks. 2015-06-16 07:11:21 +00:00
generators-runtime.js [es6] Define generator prototype as writable prop 2015-05-26 18:31:49 +00:00
generators-states.js Leaving a generator via an exception causes it to close 2014-11-12 14:29:22 +00:00
indexed-integer-exotics.js Cleanup INTEGER_INDEXED_EXOTIC handling a bit 2015-06-18 14:39:11 +00:00
instanceof-proxies.js Turbofan instanceof lowering needs to address proxies. 2015-12-11 11:03:07 +00:00
iteration-semantics.js [runtime] support new Proxy() instead of Proxy.create and install getPrototypeOf trap 2015-11-13 14:14:07 +00:00
iteration-syntax.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
iterator-prototype.js [es6] Iterators and generators should "extend" %IteratorPrototype% 2015-05-15 15:09:38 +00:00
json.js Add remaining @@toStringTag symbols to builtins 2014-10-24 19:29:10 +00:00
map-minus-zero.js Fix issue with -0 in Maps 2015-02-20 21:02:55 +00:00
math-cbrt.js Ship ES6 Math functions. 2014-07-16 14:00:15 +00:00
math-clz32.js Ship ES6 Math functions. 2014-07-16 14:00:15 +00:00
math-expm1.js Implement Math.expm1 using port from fdlibm. 2014-08-20 14:24:07 +00:00
math-fround.js Inline Math.fround in optimized code. 2014-07-29 11:34:08 +00:00
math-hyperbolic.js Implement Math.tanh using fdlibm port. 2015-10-16 12:56:37 +00:00
math-hypot.js Ship ES6 Math functions. 2014-07-16 14:00:15 +00:00
math-log1p.js Implement Math.log1p using port from fdlibm. 2014-08-12 13:36:33 +00:00
math-log2-log10.js Fix Math.log10 implementation for 1 - Number.EPSILON. 2015-04-14 11:56:02 +00:00
math-sign.js Ship ES6 Math functions. 2014-07-16 14:00:15 +00:00
math-trunc.js Ship ES6 Math functions. 2014-07-16 14:00:15 +00:00
math.js Add remaining @@toStringTag symbols to builtins 2014-10-24 19:29:10 +00:00
method-name-eval-arguments.js [es6] Remove harmony-object-literal flag 2015-06-26 19:49:53 +00:00
microtask-delivery.js Add a --harmony-object-observe runtime flag (on by default) 2015-08-04 20:53:32 +00:00
mirror-collections.js Add optional max elements limit for Map/Set mirror iterator preview. 2014-11-11 09:47:19 +00:00
mirror-iterators.js Expose internal properties of map/set iterators via mirrors. 2014-11-17 12:48:29 +00:00
mirror-promises.js Remove obsolete --harmony-promises flag from tests. 2014-06-20 10:47:50 +00:00
mirror-symbols.js Enable ES6 Symbols by default 2014-08-04 18:17:54 +00:00
new-target.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
numeric-literals.js Remove --harmony-numeric-literal flag 2015-03-31 14:24:30 +00:00
object-assign.js Remove on-by-default flag --harmony-object 2015-09-18 18:37:57 +00:00
object-literals-method.js [es6] Remove harmony-object-literal flag 2015-06-26 19:49:53 +00:00
object-literals-property-shorthand.js [es6] support get and set in shorthand properties 2015-09-16 16:02:05 +00:00
object-literals-super.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
object-tostring.js Update harmony ObjectProtoToString() to 2/2/2015 spec 2015-02-03 21:05:25 +00:00
promise-internal-setter.js Unstage non-standard Promise functions 2015-12-10 23:58:26 +00:00
promises.js Unstage non-standard Promise functions 2015-12-10 23:58:26 +00:00
prototype-ordinary-objects.js Revert "ES6: Number and Boolean prototype should be ordinary objects" 2015-04-13 16:21:00 +00:00
regexp-constructor.js Introduce a BuiltinsConstructStub that sets up new.target and does a [[call]] per ES6 9.3.2 2015-11-19 16:11:09 +00:00
regexp-flags.js Unify setting accessor properties in native code. 2015-11-10 06:58:41 +00:00
regexp-match-lastindex.js Do not coerce lastIndex of a global RegExp in @@match and @@replace. 2015-10-16 11:25:37 +00:00
regexp-prototype.js RegExp.prototype is an ordinary object. 2015-11-03 06:18:44 +00:00
regexp-replace-lastindex.js Do not coerce lastIndex of a global RegExp in @@match and @@replace. 2015-10-16 11:25:37 +00:00
regexp-tolength.js Ship Harmony ToLength 2015-11-05 00:45:05 +00:00
rest-params-lazy-parsing.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
rest-params.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
set-minus-zero.js Fix issue with -0 in Maps 2015-02-20 21:02:55 +00:00
spread-array.js Remove flags for spread calls and arrays 2015-10-28 15:57:27 +00:00
spread-call-new-class.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
spread-call-new.js Remove flags for spread calls and arrays 2015-10-28 15:57:27 +00:00
spread-call-super-property.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
spread-call.js Remove flags for spread calls and arrays 2015-10-28 15:57:27 +00:00
string-codepointat.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-endswith.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-fromcodepoint.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-html.js Fix HTML string methods to not depend on replace method 2015-06-22 21:55:56 +00:00
string-includes.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-iterator.js Add remaining @@toStringTag symbols to builtins 2014-10-24 19:29:10 +00:00
string-raw.js [es6] call ToString() on template substitutions 2015-03-24 12:44:01 +00:00
string-repeat.js [es6] Allow any valid repeat of empty string in String.prototype.repeat 2015-11-20 23:57:39 +00:00
string-search.js [es6] implement RegExp.@@search. 2015-12-14 10:22:41 +00:00
string-startswith.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
super.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
symbols.js [es6] correctly handle object wrappers in JSON.stringify. 2015-12-02 08:44:03 +00:00
templates.js Delete --harmony-unicode flag 2015-08-05 19:08:42 +00:00
throw-type-error-function-restrictions.js Fix issues with name and length on poison pill function 2015-04-15 17:15:26 +00:00
typed-array-iterator.js Don't expose Array.prototype.values as it breaks webcompat 2014-10-17 20:11:47 +00:00
typedarray-copywithin.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-every.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-fill.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-find.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-findindex.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-foreach.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-from.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-indexing.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-iteration.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-of.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-proto.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-reduce.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-reverse.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-set-length.js Only evaluate length once in %TypedArray%.prototype.set 2015-08-19 01:33:06 +00:00
typedarray-slice.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-sort.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-tostring.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray.js Revert of [es6] Correctify and unify ArrayBuffer and SharedArrayBuffer constructors. (patchset #2 id:20001 of https://codereview.chromium.org/1500543002/ ) 2015-12-04 10:38:48 +00:00
unicode-escapes.js Delete --harmony-unicode flag 2015-08-05 19:08:42 +00:00
unscopables.js ES6: Unscopable should use ToBoolean 2015-03-31 15:14:20 +00:00