Reviewers: Jakob,

Description:
Fix missing representation for the result of HIsSmiAndBranch.

[email protected]
BUG=

Please review this at https://codereview.chromium.org/211273010/

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

Affected files (+14, -13 lines):
  M src/hydrogen-instructions.h
  A + test/mjsunit/regress/regress-is-smi-repr.js


Index: src/hydrogen-instructions.h
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
index d22cc32f1518ebf00545be935ad77e54ecc9323f..09050a5c13a0bab2360a3197ff7493d262cb822b 100644
--- a/src/hydrogen-instructions.h
+++ b/src/hydrogen-instructions.h
@@ -4403,7 +4403,9 @@ class HIsSmiAndBranch V8_FINAL : public HUnaryControlInstruction {
   HIsSmiAndBranch(HValue* value,
                   HBasicBlock* true_target = NULL,
                   HBasicBlock* false_target = NULL)
-      : HUnaryControlInstruction(value, true_target, false_target) {}
+      : HUnaryControlInstruction(value, true_target, false_target) {
+    set_representation(Representation::Tagged());
+  }
 };


Index: test/mjsunit/regress/regress-is-smi-repr.js
diff --git a/test/mjsunit/regress/regress-347909.js b/test/mjsunit/regress/regress-is-smi-repr.js
similarity index 58%
copy from test/mjsunit/regress/regress-347909.js
copy to test/mjsunit/regress/regress-is-smi-repr.js
index 90a8e6a759eab76afef1dc968c814bd9d324b147..e9f2b516b57c630e4eddf8dac4da546a19ee08de 100644
--- a/test/mjsunit/regress/regress-347909.js
+++ b/test/mjsunit/regress/regress-is-smi-repr.js
@@ -4,16 +4,15 @@

 // Flags: --allow-natives-syntax

-var a = {y:1.5};
-a.y = 0;
-var b = a.y;
-a.y = {};
-var d = 1;
-function f() {
-  d = 0;
-  return {y: b};
-}
-f();
-f();
+"use strict";
+
+var global;
+
+function g() { global = this; }
+Object.defineProperty(Number.prototype, "prop", { get: g });
+function f(s) { s.prop; }
+
+f(1);
+f(1);
 %OptimizeFunctionOnNextCall(f);
-f();
+f(1);


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to