http://codereview.chromium.org/6312055/diff/1/src/ia32/full-codegen-ia32.cc File src/ia32/full-codegen-ia32.cc (right):
http://codereview.chromium.org/6312055/diff/1/src/ia32/full-codegen-ia32.cc#newcode2274 src/ia32/full-codegen-ia32.cc:2274: __ push(Immediate(Smi::FromInt(info_->function()->strict_mode()))); If strict_mode() returns a boolean, convert it to a number explicitly instead of relying on implicit conversion. http://codereview.chromium.org/6312055/diff/1/src/objects-inl.h File src/objects-inl.h (right): http://codereview.chromium.org/6312055/diff/1/src/objects-inl.h#newcode2973 src/objects-inl.h:2973: Two lines of whitespace between function definitions. http://codereview.chromium.org/6312055/diff/1/src/objects-inl.h#newcode2980 src/objects-inl.h:2980: kStrictModeFunction, Indentation. http://codereview.chromium.org/6312055/diff/1/src/parser.cc File src/parser.cc (right): http://codereview.chromium.org/6312055/diff/1/src/parser.cc#newcode3575 src/parser.cc:3575: top_scope_->SetAttributesConst(); Attributes? Should that be "Arguments"? http://codereview.chromium.org/6312055/diff/1/src/runtime.cc File src/runtime.cc (right): http://codereview.chromium.org/6312055/diff/1/src/runtime.cc#newcode7630 src/runtime.cc:7630: if (!context->IsGlobalContext()) { This is where we miss the official semantics. The call can still be direct even if "eval" is aliased, as long as it's aliased to a variable called "eval". http://codereview.chromium.org/6312055/diff/1/src/runtime.cc#newcode7656 src/runtime.cc:7656: static ObjectPair Runtime_ResolvePossiblyDirectEvalNoLookup(Arguments args) { Why no extra argument here? It seems this function can also be called from strict code. http://codereview.chromium.org/6312055/diff/1/src/runtime.cc#newcode9813 src/runtime.cc:9813: false); // We need to get this from the current function We should check whether the debugger would want that. My guess is that they depend on the non-strict eval to be able to change local variables (but I'm not at all sure). They may not want debugger input to be required to be strict code - but we should consider whether it's safe to use non-struct code in a strict context. After all, the spec is built to prevent that. http://codereview.chromium.org/6312055/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
