[es6] Super call in arrows and eval
authorarv <arv@chromium.org>
Tue, 2 Jun 2015 22:04:25 +0000 (15:04 -0700)
committerCommit bot <commit-bot@chromium.org>
Tue, 2 Jun 2015 22:04:33 +0000 (22:04 +0000)
commit4b8051a02ae9f765b7d803fc7986301abde36007
tree2edfcccbe5a573eb67bb45ef672676a6c5b4fbab
parent6a6388f07d3926587122a462a746f1a450858864
[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.

This is a revert of the revert 88b1c9170a0293cbcc8bdaf57fbe12744b48d7e8

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

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

Cr-Commit-Position: refs/heads/master@{#28769}
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