From: jkummerow@chromium.org Date: Thu, 1 Aug 2013 16:12:31 +0000 (+0000) Subject: Remove buggy ToNumber truncation X-Git-Tag: upstream/4.7.83~13091 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=61f531cf23cab3b356b94ed8f119e4c204928adb;p=platform%2Fupstream%2Fv8.git Remove buggy ToNumber truncation BUG=v8:2813 R=danno@chromium.org Review URL: https://codereview.chromium.org/21531003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/hydrogen.cc b/src/hydrogen.cc index 6875f99..7ec65df 100644 --- a/src/hydrogen.cc +++ b/src/hydrogen.cc @@ -7679,26 +7679,6 @@ HValue* HGraphBuilder::TruncateToNumber(HValue* value, Handle* expected) { *expected = handle(Type::Number(), isolate()); return AddInstruction(number.value); } - return value; - } - - Handle expected_type = *expected; - Representation rep = Representation::FromType(expected_type); - if (!rep.IsTagged()) return value; - - // If our type feedback suggests that we can non-observably truncate to number - // we introduce the appropriate check here. This avoids 'value' having a - // tagged representation later on. - if (expected_type->Is(Type::Oddball())) { - // TODO(olivf) The BinaryOpStub only records undefined. It might pay off to - // also record booleans and convert them to 0/1 here. - IfBuilder if_nan(this); - if_nan.If(value, - graph()->GetConstantUndefined()); - if_nan.Then(); - if_nan.ElseDeopt(); - if_nan.End(); - return Add(OS::nan_value()); } return value;