v8/test/cctest
dslomov@chromium.org 1a64b02dcf harmony_scoping: Implement lexical bindings at top level
This implements correct semantics for "extensible" top level lexical scope.
The entire lexical scope is represented at runtime by GlobalContextTable, reachable from native context and accumulating global contexts from every script loaded into the context.

When the new script starts executing, it does the following validation:
- checks the GlobalContextTable and global object (non-configurable own) properties against the set of declarations it introduces and reports potential conflicts.
- invalidates the conflicting PropertyCells on global object, so that any code depending on them will miss/deopt causing any contextual lookups to be reexecuted under the new bindings
- adds the lexical bindings it introduces to the GlobalContextTable

Loads and stores for contextual lookups are modified so that they check the GlobalContextTable before looking up properties on global object, thus implementing the shadowing of global object properties by lexical declarations.

R=adamk@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25220}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:29:45 +00:00
..
compiler Make scheduler handle floating non-naked loops. 2014-11-07 16:01:49 +00:00
cctest.cc Remove (untested) code for unsupported compilers. 2014-10-20 12:04:22 +00:00
cctest.gyp TransitionArray now uses <is_data_property, name, attributes> tuple as a key, which allows to have several entries for the same property name. 2014-11-05 09:26:48 +00:00
cctest.h Add support for a target new space size 2014-10-22 06:58:38 +00:00
cctest.status Enable inlining tests that pass with new scheduler. 2014-11-06 18:56:43 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
gay-fixed.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
gay-fixed.h Dtoa for fixed notation. 2010-05-05 13:51:27 +00:00
gay-precision.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
gay-precision.h Added precision mode to fast-dtoa. 2010-09-20 09:18:00 +00:00
gay-shortest.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
gay-shortest.h Dtoa for fixed notation. 2010-05-05 13:51:27 +00:00
log-eq-of-logging-and-traversal.js Fix test-log/EquivalenceOfLoggingAndTraversal 2013-08-26 14:56:23 +00:00
OWNERS Update cctest OWNERS file for mips committers. 2014-09-18 17:33:24 +00:00
print-extension.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
print-extension.h Use full include paths everywhere 2014-06-03 08:12:43 +00:00
profiler-extension.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
profiler-extension.h Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-accessors.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-alloc.cc Fix for bug 429168, PdfJs regression. We pay a very high cost for AllocationResult being a > kPointerSize struct. This can be avoided by using Smis to indicate failure with retry spaces. 2014-11-03 08:43:40 +00:00
test-api.cc Allow uncaught exception messaging in Object.observe callbacks. 2014-11-05 07:23:59 +00:00
test-assembler-arm64.cc Add FRINTP (round towards positive infinity) instruction. 2014-10-22 11:06:22 +00:00
test-assembler-arm.cc Add vrint{a,n,p,m,z} instructions to arm assembler. These instructions are only available on ARMv8. 2014-10-30 11:01:12 +00:00
test-assembler-ia32.cc convert disassembler to use OStream 2014-09-25 08:33:24 +00:00
test-assembler-mips64.cc MIPS64: Fix move operations from coprocessor in simulator. 2014-09-17 16:21:22 +00:00
test-assembler-mips.cc Reland "MIPS: Add support for arch. revision 6 to mips32 port." 2014-08-12 19:04:15 +00:00
test-assembler-x64.cc Land the Fan (disabled) 2014-07-30 13:54:45 +00:00
test-assembler-x87.cc X87: Land the Fan (disabled) 2014-08-01 07:42:06 +00:00
test-ast.cc Assign bailout and type feedback IDs in a post-pass 2014-10-21 12:16:37 +00:00
test-atomicops.cc Move atomic ops and related files to base library 2014-06-05 12:14:47 +00:00
test-bignum-dtoa.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-bignum.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-bit-vector.cc convert BitVector to use pointer size blocks 2014-10-31 10:44:47 +00:00
test-checks.cc Replace our homegrown ARRAY_SIZE() with Chrome's arraysize(). 2014-08-26 09:19:24 +00:00
test-circular-queue.cc Fix newly discovered presubmit errors. 2014-08-12 13:33:35 +00:00
test-code-stubs-arm64.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-arm.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-ia32.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-mips64.cc MIPS64: Fix ConvertDToI test. 2014-10-01 16:25:01 +00:00
test-code-stubs-mips.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-x64.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-x87.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs.cc Replace our home-grown BitCast with bit_cast from Chrome/Google3. 2014-09-08 09:11:11 +00:00
test-code-stubs.h Introduce x87 port 2014-05-23 16:37:27 +00:00
test-compiler.cc vector-based ICs did not update type feedback counts correctly. 2014-10-20 11:42:56 +00:00
test-constantpool.cc Tests that the GC doesn't mistake non-pointer constant pool entries as pointers. 2014-07-28 10:04:36 +00:00
test-conversions.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-cpu-profiler.cc The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers. 2014-11-06 09:17:14 +00:00
test-date.cc Replace our homegrown ARRAY_SIZE() with Chrome's arraysize(). 2014-08-26 09:19:24 +00:00
test-debug.cc Allow uncaught exception messaging in Object.observe callbacks. 2014-11-05 07:23:59 +00:00
test-declarative-accessors.cc Fix newly discovered presubmit errors. 2014-08-12 13:33:35 +00:00
test-decls.cc harmony_scoping: Implement lexical bindings at top level 2014-11-07 16:29:45 +00:00
test-deoptimization.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-dictionary.cc Pacify GCmole. 2014-08-22 11:09:13 +00:00
test-disasm-arm64.cc Add FRINTP (round towards positive infinity) instruction. 2014-10-22 11:06:22 +00:00
test-disasm-arm.cc Add vrint{a,n,p,m,z} instructions to arm assembler. These instructions are only available on ARMv8. 2014-10-30 11:01:12 +00:00
test-disasm-ia32.cc IA: Double arithmetic binops support memory operand 2014-11-03 05:57:17 +00:00
test-disasm-mips64.cc MIPS64: Add support for architecture revision 6. 2014-07-29 18:02:26 +00:00
test-disasm-mips.cc Reland "MIPS: Add support for arch. revision 6 to mips32 port." 2014-08-12 19:04:15 +00:00
test-disasm-x64.cc [turbofan] Also optimize unsigned division by constant. 2014-11-03 10:05:46 +00:00
test-disasm-x87.cc X87: [turbofan] support all shift operands on ia32 2014-10-08 06:13:22 +00:00
test-diy-fp.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-double.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-dtoa.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-fast-dtoa.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-feedback-vector.cc Introduce FeedbackNexus for vector-based ics. 2014-10-28 16:05:45 +00:00
test-fixed-dtoa.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-flags.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-func-name-inference.cc Move some Runtime:: functions and remove runtime.h as include when unnecessary. 2014-10-20 12:07:45 +00:00
test-fuzz-arm64.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-gc-tracer.cc re-land: Track history of events in GCTracer. 2014-07-24 11:16:01 +00:00
test-global-handles.cc Rename ASSERT* to DCHECK*. 2014-08-04 11:34:54 +00:00
test-global-object.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-hashing.cc Remove dead code for inline string hashing. 2014-09-04 12:15:09 +00:00
test-hashmap.cc Check alpha-sorting of includes during presubmit. 2014-06-20 08:40:11 +00:00
test-heap-profiler.cc Rename Runtime_CompileUnoptimized to Runtime_CompileLazy, because that is what it does. Split Compiler::GetUnoptimizedCode into two variants, one for lazy compilation (which can return optimized code!) and the other that actually returns unoptimized code. 2014-09-17 15:29:42 +00:00
test-heap.cc Reland "Limit the number of transitions allowed per hidden class." 2014-11-03 16:46:29 +00:00
test-hydrogen-types.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-javascript-arm64.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-js-arm64-variables.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-list.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-liveedit.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-lockers.cc Fix data races and leaks related to v8::Lockers 2014-10-08 08:17:04 +00:00
test-log-stack-tracer.cc Remove (untested) code for unsupported compilers. 2014-10-20 12:04:22 +00:00
test-log.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-macro-assembler-arm.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-macro-assembler-ia32.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-macro-assembler-mips64.cc Add mips64 port. 2014-07-09 11:08:26 +00:00
test-macro-assembler-mips.cc MIPS: Fix cctest/NaNs after r23767 "Replace our home-grown BitCast with bit_cast from Chrome/Google3". 2014-09-08 16:14:21 +00:00
test-macro-assembler-x64.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-macro-assembler-x87.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-mark-compact.cc HeapProfiler: remove obsolete AddImplicitReferences 2014-08-26 13:05:54 +00:00
test-mementos.cc Remove dependency on Vector from platform files 2014-06-13 16:43:27 +00:00
test-microtask-delivery.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-object-observe.cc Allow uncaught exception messaging in Object.observe callbacks. 2014-11-05 07:23:59 +00:00
test-ordered-hash-table.cc Pacify GCmole. 2014-08-22 11:09:13 +00:00
test-parsing.cc Scanner: disallow unicode escapes in regexp flags. 2014-11-07 14:32:19 +00:00
test-platform-linux.cc Refactor unit tests for the base library to use GTest. 2014-08-06 09:35:21 +00:00
test-platform-win32.cc Refactor unit tests for the base library to use GTest. 2014-08-06 09:35:21 +00:00
test-platform.cc Remove v8stdint.h, it doesn't serve a purpose anymore. 2014-10-21 08:25:14 +00:00
test-profile-generator.cc Move anonymous function name beautifying out of v8. 2014-08-05 07:08:39 +00:00
test-random-number-generator.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-regexp.cc Replace OStream with std::ostream. 2014-09-30 10:29:32 +00:00
test-reloc-info.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-representation.cc Check alpha-sorting of includes during presubmit. 2014-06-20 08:40:11 +00:00
test-sampler-api.cc Initial implementation of GetStackSample sampling profiler API. 2014-09-29 12:59:54 +00:00
test-serialize.cc Add serializer test case to bug fix in r24871. 2014-10-27 16:40:16 +00:00
test-spaces.cc Really disable test when running with optimize for size 2014-10-22 08:15:47 +00:00
test-strings.cc Fix a few nits found by PVS Studio 2014-11-03 19:45:25 +00:00
test-strtod.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-symbols.cc Land the Fan (disabled) 2014-07-30 13:54:45 +00:00
test-thread-termination.cc Do not expose termination exceptions to the Exception API. 2014-09-01 09:11:44 +00:00
test-threads.cc Fix newly discovered presubmit errors. 2014-08-12 13:33:35 +00:00
test-transitions.cc TransitionArray now uses <is_data_property, name, attributes> tuple as a key, which allows to have several entries for the same property name. 2014-11-05 09:26:48 +00:00
test-types.cc [turbofan] Use range types to type and lower arithmetic ops. 2014-10-23 14:40:43 +00:00
test-unbound-queue.cc Check alpha-sorting of includes during presubmit. 2014-06-20 08:40:11 +00:00
test-unique.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-unscopables-hidden-prototype.cc Enable ES6 unscopables 2014-08-08 11:42:59 +00:00
test-utils-arm64.cc Rename ASSERT* to DCHECK*. 2014-08-04 11:34:54 +00:00
test-utils-arm64.h Rename ASSERT* to DCHECK*. 2014-08-04 11:34:54 +00:00
test-utils.cc Fix ASAN warning. 2014-10-28 08:34:40 +00:00
test-version.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-weakmaps.cc Remove all encountered weak maps from the list of weak collections when incremental marking is aborted. 2014-08-05 07:29:13 +00:00
test-weaksets.cc Rename ASSERT* to DCHECK*. 2014-08-04 11:34:54 +00:00
test-weaktypedarrays.cc Move a bunch of GC related files to heap/ subdirectory 2014-08-05 08:18:22 +00:00
testcfg.py Fix test serialization path for windows. 2014-03-26 07:40:32 +00:00
trace-extension.cc Tick processor: Print C++ entry points 2014-10-17 15:44:02 +00:00
trace-extension.h Use full include paths everywhere 2014-06-03 08:12:43 +00:00
types-fuzz.h [turbofan] Use range types to type and lower arithmetic ops. 2014-10-23 14:40:43 +00:00