[es6] Support super.property in eval and arrow functions
authorarv <arv@chromium.org>
Tue, 26 May 2015 20:29:47 +0000 (13:29 -0700)
committerCommit bot <commit-bot@chromium.org>
Tue, 26 May 2015 20:29:54 +0000 (20:29 +0000)
commit44e9810345cea9bfd6861905bc6856db7db5a25c
tree06e424aadd802d9af46166d6b0980f0c67eee156
parent2dda8c3d4e42be6f9a8fd25406b4e133aa6ef9da
[es6] Support super.property in eval and arrow functions

When we enter a method that needs access to the [[HomeObject]]
we allocate a local variable `.home_object` and assign it the
value from the [[HomeObject]] private symbol. Something along
the lines of:

  method() {
    var .home_object = %ThisFunction()[home_object_symbol];
    ...
  }

BUG=v8:3867, v8:4031
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28644}
24 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/full-codegen.h
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/preparser.cc
src/preparser.h
src/scopes.cc
src/scopes.h
src/x64/full-codegen-x64.cc
test/cctest/test-compiler.cc
test/cctest/test-feedback-vector.cc
test/cctest/test-heap.cc
test/cctest/test-parsing.cc
test/mjsunit/harmony/object-literals-super.js
test/mjsunit/harmony/super.js