Reviewers: Yang,
Message:
Hi Yang, here is the fix for the issues seen on push to trunk.
Description:
allocation-site-info.js broken on arm with new changes. Reverting to
previous
version until diagnosed.
Regress-2185.js test takes too long on slow path when allocation site info
is
discovered.
BUG=
Please review this at https://codereview.chromium.org/12049003/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M test/mjsunit/allocation-site-info.js
M test/mjsunit/regress/regress-2185.js
Index: test/mjsunit/allocation-site-info.js
diff --git a/test/mjsunit/allocation-site-info.js
b/test/mjsunit/allocation-site-info.js
index
851ad418a2e5c3ad0289414cb52eab3988ce4dad..f4263aff0c74eec6fe08c022b14a28036d43fb4c
100644
--- a/test/mjsunit/allocation-site-info.js
+++ b/test/mjsunit/allocation-site-info.js
@@ -75,52 +75,40 @@ function assertKind(expected, obj, name_opt) {
}
if (support_smi_only_arrays) {
- function fastliteralcase(literal, value) {
- // var literal = [1, 2, 3];
- literal[0] = value;
- return literal;
- }
-
- function get_standard_literal() {
- var literal = [1, 2, 3];
- return literal;
- }
+ function fastliteralcase(value) {
+ var literal = [1, 2, 3];
+ literal[0] = value;
+ return literal;
+ }
- // Case: [1,2,3] as allocation site
- obj = fastliteralcase(get_standard_literal(), 1);
- assertKind(elements_kind.fast_smi_only, obj);
- obj = fastliteralcase(get_standard_literal(), 1.5);
- assertKind(elements_kind.fast_double, obj);
- obj = fastliteralcase(get_standard_literal(), 2);
- assertKind(elements_kind.fast_double, obj);
+ // Case: [1,2,3] as allocation site
+ obj = fastliteralcase(1);
+ assertKind(elements_kind.fast_smi_only, obj);
+ obj = fastliteralcase(1.5);
+ assertKind(elements_kind.fast_double, obj);
+ obj = fastliteralcase(2);
+ assertKind(elements_kind.fast_double, obj);
- obj = fastliteralcase([5, 3, 2], 1.5);
- assertKind(elements_kind.fast_double, obj);
- obj = fastliteralcase([3, 6, 2], 1.5);
- assertKind(elements_kind.fast_double, obj);
- obj = fastliteralcase([2, 6, 3], 2);
- assertKind(elements_kind.fast_smi_only, obj);
+ // Verify that we will not pretransition the double->fast path.
+ obj = fastliteralcase("elliot");
+ assertKind(elements_kind.fast, obj);
- // Verify that we will not pretransition the double->fast path.
- obj = fastliteralcase(get_standard_literal(), "elliot");
- assertKind(elements_kind.fast, obj);
+ // This fails until we turn off optimistic transitions to the
+ // most general elements kind seen on keyed stores. It's a goal
+ // to turn it off, but for now we need it.
+ // obj = fastliteralcase(3);
+ // assertKind(elements_kind.fast_double, obj);
- // This fails until we turn off optimistic transitions to the
- // most general elements kind seen on keyed stores. It's a goal
- // to turn it off, but for now we need it.
- // obj = fastliteralcase(3);
- // assertKind(elements_kind.fast_double, obj);
-
- function fastliteralcase_smifast(value) {
- var literal = [1, 2, 3, 4];
- literal[0] = value;
- return literal;
- }
+ function fastliteralcase_smifast(value) {
+ var literal = [1, 2, 3, 4];
+ literal[0] = value;
+ return literal;
+ }
- obj = fastliteralcase_smifast(1);
- assertKind(elements_kind.fast_smi_only, obj);
- obj = fastliteralcase_smifast("carter");
- assertKind(elements_kind.fast, obj);
- obj = fastliteralcase_smifast(2);
- assertKind(elements_kind.fast, obj);
+ obj = fastliteralcase_smifast(1);
+ assertKind(elements_kind.fast_smi_only, obj);
+ obj = fastliteralcase_smifast("carter");
+ assertKind(elements_kind.fast, obj);
+ obj = fastliteralcase_smifast(2);
+ assertKind(elements_kind.fast, obj);
}
\ No newline at end of file
Index: test/mjsunit/regress/regress-2185.js
diff --git a/test/mjsunit/regress/regress-2185.js
b/test/mjsunit/regress/regress-2185.js
index
895f322fc63880b2a5c3f0480673d6f01cace9cd..9b91066f33b34feb9de68d6fa61aa24b8423eac4
100644
--- a/test/mjsunit/regress/regress-2185.js
+++ b/test/mjsunit/regress/regress-2185.js
@@ -25,6 +25,8 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// Flags: --noenable-slow-asserts
+
var a = [];
for (var i = 0; i < 2; i++) {
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev