[strong] Implement strong mode restrictions on property access
authorconradw <conradw@chromium.org>
Thu, 18 Jun 2015 11:55:38 +0000 (04:55 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 18 Jun 2015 11:55:45 +0000 (11:55 +0000)
commit85dbfb9a389e7b21bd2a63862202ee97fc5d7982
tree00ff13a805b5bb9aee941540ef7a9c2fff3b2e97
parent1bb051b8a4b81aea753715a833b425d120fb5da6
[strong] Implement strong mode restrictions on property access

Implements the strong mode proposal's restrictions on property access.

To be fully explored in a followup: proxies, interceptors, access checks, load from super

BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29109}
82 files changed:
src/arm/code-stubs-arm.cc
src/arm/full-codegen-arm.cc
src/arm/lithium-codegen-arm.cc
src/arm64/code-stubs-arm64.cc
src/arm64/full-codegen-arm64.cc
src/arm64/lithium-codegen-arm64.cc
src/builtins.cc
src/builtins.h
src/code-factory.cc
src/code-factory.h
src/code-stubs-hydrogen.cc
src/code-stubs.cc
src/code-stubs.h
src/compiler/ast-graph-builder.cc
src/compiler/js-generic-lowering.cc
src/compiler/js-operator.cc
src/compiler/js-operator.h
src/compiler/js-typed-lowering.cc
src/full-codegen.cc
src/full-codegen.h
src/hydrogen-instructions.h
src/hydrogen.cc
src/hydrogen.h
src/ia32/code-stubs-ia32.cc
src/ia32/full-codegen-ia32.cc
src/ia32/lithium-codegen-ia32.cc
src/ic/arm/handler-compiler-arm.cc
src/ic/arm/ic-arm.cc
src/ic/arm64/handler-compiler-arm64.cc
src/ic/arm64/ic-arm64.cc
src/ic/handler-compiler.cc
src/ic/handler-compiler.h
src/ic/ia32/handler-compiler-ia32.cc
src/ic/ia32/ic-ia32.cc
src/ic/ic-compiler.cc
src/ic/ic-compiler.h
src/ic/ic-inl.h
src/ic/ic-state.h
src/ic/ic.cc
src/ic/ic.h
src/ic/mips/handler-compiler-mips.cc
src/ic/mips/ic-mips.cc
src/ic/mips64/handler-compiler-mips64.cc
src/ic/mips64/ic-mips64.cc
src/ic/ppc/handler-compiler-ppc.cc
src/ic/ppc/ic-ppc.cc
src/ic/x64/handler-compiler-x64.cc
src/ic/x64/ic-x64.cc
src/ic/x87/handler-compiler-x87.cc
src/ic/x87/ic-x87.cc
src/messages.h
src/mips/code-stubs-mips.cc
src/mips/full-codegen-mips.cc
src/mips/lithium-codegen-mips.cc
src/mips64/code-stubs-mips64.cc
src/mips64/full-codegen-mips64.cc
src/mips64/lithium-codegen-mips64.cc
src/objects-inl.h
src/objects.cc
src/objects.h
src/ppc/code-stubs-ppc.cc
src/ppc/full-codegen-ppc.cc
src/ppc/lithium-codegen-ppc.cc
src/runtime/runtime-classes.cc
src/runtime/runtime-debug.cc
src/runtime/runtime-object.cc
src/runtime/runtime.h
src/x64/code-stubs-x64.cc
src/x64/full-codegen-x64.cc
src/x64/lithium-codegen-x64.cc
src/x87/code-stubs-x87.cc
src/x87/full-codegen-x87.cc
src/x87/lithium-codegen-x87.cc
test/cctest/test-api.cc
test/mjsunit/strong/functions.js
test/mjsunit/strong/load-builtins.js [new file with mode: 0644]
test/mjsunit/strong/load-element-mutate-backing-store.js [new file with mode: 0644]
test/mjsunit/strong/load-element.js [new file with mode: 0644]
test/mjsunit/strong/load-property-mutate-backing-store.js [new file with mode: 0644]
test/mjsunit/strong/load-property.js [new file with mode: 0644]
test/unittests/compiler/js-type-feedback-unittest.cc
test/unittests/compiler/js-typed-lowering-unittest.cc