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.