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

Reply via email to