Chromium Code Reviews

Issue 362004: Remove the typeof state threaded through the code generator. It was... (Closed)

Created:
11 years, 1 month ago by Kevin Millikin (Chromium)
Modified:
9 years, 7 months ago
Reviewers:
Kasper Lund, Mads Ager (chromium)
CC:
v8-dev
Visibility:
Public.

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. Committed: http://code.google.com/p/v8/source/detail?r=3212

Patch Set 1 #

Unified diffs Side-by-side diffs Stats (+168 lines, -252 lines)
M src/arm/codegen-arm.h View 5 chunks +5 lines, -13 lines 0 comments
M src/arm/codegen-arm.cc View 28 chunks +36 lines, -60 lines 0 comments
M src/arm/codegen-arm-inl.h View 2 chunks +5 lines, -8 lines 0 comments
M src/ia32/codegen-ia32.h View 4 chunks +6 lines, -17 lines 0 comments
M src/ia32/codegen-ia32.cc View 37 chunks +53 lines, -68 lines 0 comments
M src/x64/codegen-x64.h View 4 chunks +6 lines, -17 lines 0 comments
M src/x64/codegen-x64.cc View 38 chunks +53 lines, -68 lines 0 comments
M test/mjsunit/eval-typeof-non-existing.js View 1 chunk +4 lines, -1 line 0 comments

Messages

Total messages: 3 (0 generated)
Kevin Millikin (Chromium)
11 years, 1 month ago (2009-11-04 13:17:12 UTC) #1
Kasper Lund
STV!
11 years, 1 month ago (2009-11-04 13:20:50 UTC) #2
Mads Ager (chromium)
11 years, 1 month ago (2009-11-04 13:28:06 UTC) #3
Greatness. LGTM!

Powered by Google App Engine