Refactor lexical home object binding
authorarv <arv@chromium.org>
Thu, 4 Jun 2015 16:22:29 +0000 (09:22 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 4 Jun 2015 16:22:41 +0000 (16:22 +0000)
commit345fa142a9fca4b468417350ac26f61101d626e8
treed07cf1a1fb4321aca35f47d78dfdc1e374fc90b3
parenteac7f04669208cb15132d03ca15c8acd1a2be869
Refactor lexical home object binding

Before this we had 3 super related lexical bindings that got injected
into method bodies: .home_object, .this_function,  and new.target.
With this change we get rid of the .home_object one in favor of using
.this_function[home_object_symbol] which allows some simplifications
throughout the code base.

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

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

Cr-Commit-Position: refs/heads/master@{#28802}
18 files changed:
src/arm/full-codegen-arm.cc
src/arm64/full-codegen-arm64.cc
src/ast-numbering.cc
src/ast-value-factory.cc
src/ast-value-factory.h
src/ast.h
src/ia32/full-codegen-ia32.cc
src/mips/full-codegen-mips.cc
src/mips64/full-codegen-mips64.cc
src/parser.cc
src/ppc/full-codegen-ppc.cc
src/scopes.cc
src/scopes.h
src/x64/full-codegen-x64.cc
src/x87/full-codegen-x87.cc
test/cctest/test-compiler.cc
test/cctest/test-feedback-vector.cc
test/cctest/test-heap.cc