Go to file
keuchel@chromium.org 1e9a7267ab Introduce extended mode.
This CL introduces a third mode next to the non-strict
(henceforth called 'classic mode') and 'strict mode'
which is called 'extended mode' as in the current
ES.next specification drafts. The extended mode is based on
the 'strict mode' and adds new functionality to it. This
means that most of the semantics of these two modes
coincide.

The 'extended mode' is entered instead of the 'strict mode'
during parsing when using the 'strict mode' directive
"use strict" and when the the harmony-scoping flag is
active. This should be changed once it is fully specified how the 'extended mode' is entered.

This change introduces a new 3 valued enum LanguageMode
(see globals.h) corresponding to the modes which is mostly
used by the frontend code. This includes the following
components:
* (Pre)Parser
* Compiler
* SharedFunctionInfo, Scope and ScopeInfo
* runtime functions: StoreContextSlot,
  ResolvePossiblyDirectEval, InitializeVarGlobal,
  DeclareGlobals

The old enum StrictModeFlag is still used in the backend
when the distinction between the 'strict mode' and the 'extended mode' does not matter. This includes:
* SetProperty runtime function, Delete builtin
* StoreIC and KeyedStoreIC
* StubCache

Review URL: http://codereview.chromium.org/8417035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-24 15:17:04 +00:00
benchmarks Fix presubmit errors introduced by r10002. 2011-11-16 01:44:17 +00:00
build Upstream Android V8 change. 2011-11-23 17:32:34 +00:00
include Add getters for column number and script id to v8::Function 2011-11-09 14:18:30 +00:00
preparser Ignore flags with arguments in preparser-process. 2011-10-14 07:34:45 +00:00
samples Fix presubmit errors caused by updated depot tools 2011-09-08 19:57:14 +00:00
src Introduce extended mode. 2011-11-24 15:17:04 +00:00
test Introduce extended mode. 2011-11-24 15:17:04 +00:00
tools Upstream Android V8 change. 2011-11-23 17:32:34 +00:00
.gitignore Add *.so to .gitignore. 2011-09-07 21:09:13 +00:00
AUTHORS Debugger: fix stepping next with trycatch recursion 2011-09-13 14:38:39 +00:00
ChangeLog Prepare push to trunk. Now working on version 3.7.11. 2011-11-23 11:56:52 +00:00
LICENSE Fix the license info to correctly state Copyright "the V8 project 2011-01-19 09:20:18 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
Makefile Add MIPS support to top-level Makefile 2011-11-09 16:18:36 +00:00
SConstruct Adding NetBSD support for scons build. 2011-11-16 14:35:47 +00:00