Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(503)

Unified Diff: test/mjsunit/ignition/regress-612386-smi-to-double-transition.js

Issue 2011313003: [Interpreter] Fix GenerateSmiToDouble to avoid assuming it is called from a JSFrame. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/ia32/codegen-ia32.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/ignition/regress-612386-smi-to-double-transition.js
diff --git a/test/mjsunit/ignition/regress-612386-smi-to-double-transition.js b/test/mjsunit/ignition/regress-612386-smi-to-double-transition.js
new file mode 100644
index 0000000000000000000000000000000000000000..275f7d62d33394a20acbe2dda65ed7defb539d6a
--- /dev/null
+++ b/test/mjsunit/ignition/regress-612386-smi-to-double-transition.js
@@ -0,0 +1,29 @@
+// Copyright 2016 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --no-inline-new
+
+function keyed_store(obj, key, value) {
+ obj[key] = value;
+}
+
+function foo() {
+ obj = {};
+ obj.smi = 1;
+ obj.dbl = 1.5;
+ obj.obj = {a:1};
+
+ // Transition keyed store IC to polymorphic.
+ keyed_store(obj, "smi", 100);
+ keyed_store(obj, "dbl", 100);
+ keyed_store(obj, "obj", 100);
+
+ // Now call with a FAST_SMI_ELEMENTS object.
+ var smi_array = [5, 1, 1];
+ keyed_store(smi_array, 1, 6);
+ // Transition from FAST_SMI_ELEMENTS to FAST_DOUBLE_ELEMENTS.
+ keyed_store(smi_array, 2, 1.2);
+}
+
+foo();
« no previous file with comments | « src/ia32/codegen-ia32.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698