Reviewers: rossberg,

Message:
rossberg, ptal

I'd kinda like to rename SLOPPY in the enum to something else, since "sloppy" means the opposite of "strict", and this will no longer be true after more modes
are added. "BASIC", "NORMAL", "NONE", "DEFAULT"?

This is why I also didn't add a is_sloppy() helper, since that might get
confused with comparing against that particular enum value, whereas the wanted
semantics is "is not strict".

Description:
Introduce LanguageMode, drop StrictMode.

This enables adding more language modes in the future.

For maximum flexibility, LanguageMode is a bitmask, so we're not restricted to use a sequence of language modes which are progressively stricter, but we can
express the language mode as combination of features.

For now, LanguageMode can only be "sloppy" or "strict", and there are
STATIC_ASSERTS in places which need to change when more modes are added.

LanguageMode is a bit like the old LanguageMode when "extended" mode was still
around (see https://codereview.chromium.org/8417035 and
https://codereview.chromium.org/181543002 ) except that it's transmitted through
all the layers (there's no StrictModeFlag).


BUG=

Please review this at https://codereview.chromium.org/894683003/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+727, -741 lines):
  M src/accessors.cc
  M src/api.cc
  M src/ast.h
  M src/ast.cc
  M src/code-factory.h
  M src/code-factory.cc
  M src/code-stubs.h
  M src/code-stubs-hydrogen.cc
  M src/compilation-cache.h
  M src/compilation-cache.cc
  M src/compiler.h
  M src/compiler.cc
  M src/compiler/ast-graph-builder.h
  M src/compiler/ast-graph-builder.cc
  M src/compiler/js-generic-lowering.cc
  M src/compiler/js-inlining.cc
  M src/compiler/js-operator.h
  M src/compiler/js-operator.cc
  M src/contexts.h
  M src/elements.h
  M src/elements.cc
  M src/execution.cc
  M src/factory.cc
  M src/full-codegen.h
  M src/full-codegen.cc
  M src/globals.h
  M src/hydrogen.h
  M src/hydrogen.cc
  M src/hydrogen-instructions.h
  M src/ic/ic.h
  M src/ic/ic.cc
  M src/ic/ic-compiler.h
  M src/ic/ic-compiler.cc
  M src/ic/ic-inl.h
  M src/ic/x64/ic-compiler-x64.cc
  M src/ic/x64/ic-x64.cc
  M src/isolate.cc
  M src/objects.h
  M src/objects.cc
  M src/objects-inl.h
  M src/parser.h
  M src/parser.cc
  M src/preparse-data.h
  M src/preparser.h
  M src/preparser.cc
  M src/runtime.js
  M src/runtime/runtime.h
  M src/runtime/runtime-classes.cc
  M src/runtime/runtime-compiler.cc
  M src/runtime/runtime-debug.cc
  M src/runtime/runtime-function.cc
  M src/runtime/runtime-object.cc
  M src/runtime/runtime-scopes.cc
  M src/runtime/runtime-utils.h
  M src/scopeinfo.cc
  M src/scopes.h
  M src/scopes.cc
  M src/token.h
  M src/x64/full-codegen-x64.cc
  M src/x64/lithium-codegen-x64.h
  M src/x64/lithium-codegen-x64.cc
  M src/x64/lithium-x64.h
  M test/cctest/test-parsing.cc
  M test/unittests/compiler/js-operator-unittest.cc
  M test/unittests/compiler/js-typed-lowering-unittest.cc


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to