http://codereview.chromium.org/8417035/diff/11001/src/ast.h File src/ast.h (right):
http://codereview.chromium.org/8417035/diff/11001/src/ast.h#newcode1635 src/ast.h:1635: bool is_strict_or_extended_mode() const { return !is_classic_mode(); } I forgot what exactly we concluded earlier, but this really seems redundant if we have the former. http://codereview.chromium.org/8417035/diff/11001/src/compiler.cc File src/compiler.cc (right): http://codereview.chromium.org/8417035/diff/11001/src/compiler.cc#newcode616 src/compiler.cc:616: language_mode == EXTENDED_MODE); These assertions can be simplified, too. http://codereview.chromium.org/8417035/diff/11001/src/compiler.h File src/compiler.h (right): http://codereview.chromium.org/8417035/diff/11001/src/compiler.h#newcode57 src/compiler.h:57: bool is_strict_or_extended_mode() const { return !is_classic_mode(); } Same here. http://codereview.chromium.org/8417035/diff/11001/src/compiler.h#newcode86 src/compiler.h:86: language_mode == EXTENDED_MODE); All this asserts is this->language_mode() <= language_mode, right? I think you can simplify the two assertions to ASSERT(this->lm == lm || this->lm == CLASSIC || lm == EXTENDED) http://codereview.chromium.org/8417035/diff/11001/src/full-codegen.h File src/full-codegen.h (right): http://codereview.chromium.org/8417035/diff/11001/src/full-codegen.h#newcode530 src/full-codegen.h:530: bool is_strict_or_extended_mode() { As before. http://codereview.chromium.org/8417035/diff/11001/src/objects-inl.h File src/objects-inl.h (right): http://codereview.chromium.org/8417035/diff/11001/src/objects-inl.h#newcode3499 src/objects-inl.h:3499: BOOL_GETTER(SharedFunctionInfo, compiler_hints, is_strict_or_extended_mode, And here. http://codereview.chromium.org/8417035/diff/11001/src/preparser.h File src/preparser.h (right): http://codereview.chromium.org/8417035/diff/11001/src/preparser.h#newcode589 src/preparser.h:589: bool is_strict_or_extended_mode() { And here... http://codereview.chromium.org/8417035/diff/11001/src/scopes.h File src/scopes.h (right): http://codereview.chromium.org/8417035/diff/11001/src/scopes.h#newcode196 src/scopes.h:196: language_mode_ = FLAG_strict_mode ? language_mode : CLASSIC_MODE; Does such a flag still make sense given the new language modes? http://codereview.chromium.org/8417035/diff/11001/src/scopes.h#newcode249 src/scopes.h:249: bool is_strict_or_extended_mode() const { And one more. http://codereview.chromium.org/8417035/diff/11001/test/mjsunit/harmony/debug-blockscopes.js File test/mjsunit/harmony/debug-blockscopes.js (left): http://codereview.chromium.org/8417035/diff/11001/test/mjsunit/harmony/debug-blockscopes.js#oldcode92 test/mjsunit/harmony/debug-blockscopes.js:92: assertPropertiesEqual(this, scope.scopeObject().value()); You can still get the global object by defining s.th like var global_object = this on the toplevel. http://codereview.chromium.org/8417035/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
