[es6] Super call in arrows and eval
authorarv <arv@chromium.org>
Mon, 1 Jun 2015 15:02:31 +0000 (08:02 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 1 Jun 2015 15:02:38 +0000 (15:02 +0000)
commit673c0516ab96f24343bbb26e0afc2846b5a679df
tree1b965a2c9a3da28eae42965c5845d29a2f02b506
parentf2eb98b9001c949b052e3be6b7001d1f5692e2c2
[es6] Super call in arrows and eval

This splits the SuperReference AST node into SuperPropertyReference and
SuperCallReference. The super call reference node consists of three
unresolved vars to this, new.target and this_function. These gets
declared when the right function is entered and if it is in use. The
variables gets assigned in FullCodeGenerator::Generate.

BUG=v8:3768
LOG=N
R=wingo@igalia.com, adamk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28731}
26 files changed:
src/arm/full-codegen-arm.cc
src/arm64/full-codegen-arm64.cc
src/ast-numbering.cc
src/ast-value-factory.h
src/ast.cc
src/ast.h
src/compiler/ast-graph-builder.cc
src/compiler/ast-loop-assignment-analyzer.cc
src/full-codegen.cc
src/full-codegen.h
src/hydrogen.cc
src/ia32/full-codegen-ia32.cc
src/mips/full-codegen-mips.cc
src/mips64/full-codegen-mips64.cc
src/parser.cc
src/parser.h
src/pattern-rewriter.cc
src/preparser.h
src/prettyprinter.cc
src/runtime/runtime.h
src/scopes.cc
src/scopes.h
src/typing.cc
src/variables.h
src/x64/full-codegen-x64.cc
test/mjsunit/harmony/super.js