Reviewers: Kasper Lund, Mads Ager,

Description:
Remove the typeof state threaded through the code generator.  It was
used to signal that an expression was the immediate subexpression of
typeof, or (?) in the arm of a conditional expression itself in the
typeof state.

It was inconsistently consulted.  It was not used for property loads,
but only for slot loads.  This means that we matched the Webkit JSC
(not Spidermonkey) behavior for:

typeof(true ? x : y)  // throws ReferenceError

and we matched the SpiderMonkey behavior (not JSC) for:

with ({}) { typeof(true ? x : y) }  // ==> "undefined"

Now we are expected to match the JSC behavior in all cases.


Please review this at http://codereview.chromium.org/362004

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/arm/codegen-arm-inl.h
   M     src/arm/codegen-arm.h
   M     src/arm/codegen-arm.cc
   M     src/ia32/codegen-ia32.h
   M     src/ia32/codegen-ia32.cc
   M     src/x64/codegen-x64.h
   M     src/x64/codegen-x64.cc
   M     test/mjsunit/eval-typeof-non-existing.js



--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to