Revision: 23961
Author: [email protected]
Date: Tue Sep 16 08:29:46 2014 UTC
Log: Disable lowering to StringAdd due to various issues.
[email protected]
Review URL: https://codereview.chromium.org/566303003
https://code.google.com/p/v8/source/detail?r=23961
Modified:
/branches/bleeding_edge/src/compiler/js-typed-lowering.cc
/branches/bleeding_edge/test/cctest/compiler/test-js-typed-lowering.cc
/branches/bleeding_edge/test/mjsunit/mjsunit.status
/branches/bleeding_edge/test/mjsunit/regress/regress-crbug-357052.js
/branches/bleeding_edge/test/mjsunit/string-oom-concat.js
=======================================
--- /branches/bleeding_edge/src/compiler/js-typed-lowering.cc Thu Sep 11
16:09:21 2014 UTC
+++ /branches/bleeding_edge/src/compiler/js-typed-lowering.cc Tue Sep 16
08:29:46 2014 UTC
@@ -232,6 +232,11 @@
r.ConvertInputsToNumber();
return r.ChangeToPureOperator(simplified()->NumberAdd());
}
+#if 0
+ // TODO(turbofan): Lowering of StringAdd is disabled for now because:
+ // a) The inserted ToString operation screws up valueOf vs. toString
order.
+ // b) Deoptimization at ToString doesn't have corresponding bailout id.
+ // c) Our current StringAddStub is actually non-pure and requires
context.
if (r.OneInputIs(Type::String())) {
// JSAdd(x:string, y:string) => StringAdd(x, y)
// JSAdd(x:string, y) => StringAdd(x, ToString(y))
@@ -239,6 +244,7 @@
r.ConvertInputsToString();
return r.ChangeToPureOperator(simplified()->StringAdd());
}
+#endif
return NoChange();
}
=======================================
--- /branches/bleeding_edge/test/cctest/compiler/test-js-typed-lowering.cc
Mon Sep 15 09:21:39 2014 UTC
+++ /branches/bleeding_edge/test/cctest/compiler/test-js-typed-lowering.cc
Tue Sep 16 08:29:46 2014 UTC
@@ -186,6 +186,8 @@
}
+// TODO(turbofan): Lowering of StringAdd is disabled for now.
+#if 0
TEST(StringBinops) {
JSTypedLoweringTester R;
@@ -204,6 +206,7 @@
}
}
}
+#endif
TEST(AddNumber1) {
=======================================
--- /branches/bleeding_edge/test/mjsunit/mjsunit.status Mon Sep 15 17:40:26
2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/mjsunit.status Tue Sep 16 08:29:46
2014 UTC
@@ -70,15 +70,6 @@
'harmony/block-let-crankshaft': [PASS, NO_VARIANTS],
'harmony/empty-for': [PASS, NO_VARIANTS],
- # TODO(mstarzinger): Typed lowering screws up valueOf vs. toString order.
- 'regress/regress-760-1': [PASS, NO_VARIANTS],
- 'regress/regress-760-2': [PASS, NO_VARIANTS],
- 'harmony/proxies-json': [PASS, NO_VARIANTS],
-
- # Unused code is optimized away, think about fixing the test case.
- 'string-oom-concat': [PASS, NO_VARIANTS],
- 'regress/regress-crbug-357052': [PASS, NO_VARIANTS],
-
# Some tests are over-restrictive about object layout.
'array-constructor-feedback': [PASS, NO_VARIANTS],
'array-feedback': [PASS, NO_VARIANTS],
=======================================
--- /branches/bleeding_edge/test/mjsunit/regress/regress-crbug-357052.js
Wed Apr 2 12:24:42 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/regress/regress-crbug-357052.js
Tue Sep 16 08:29:46 2014 UTC
@@ -7,5 +7,6 @@
for (var i = 0; i < 30; i++) {
str += "abcdefgh12345678" + str;
}
+ return str;
}
assertThrows(f);
=======================================
--- /branches/bleeding_edge/test/mjsunit/string-oom-concat.js Thu Mar 20
12:27:36 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/string-oom-concat.js Tue Sep 16
08:29:46 2014 UTC
@@ -7,6 +7,7 @@
for (var i = 0; i < 100; i++) {
a += a;
}
+ return a;
}
assertThrows(concat, RangeError);
--
--
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.