diff options
Diffstat (limited to 'js/src/jit-test/tests/class/superElemMegamorphic.js')
-rw-r--r-- | js/src/jit-test/tests/class/superElemMegamorphic.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/class/superElemMegamorphic.js b/js/src/jit-test/tests/class/superElemMegamorphic.js new file mode 100644 index 0000000000..8601cc472a --- /dev/null +++ b/js/src/jit-test/tests/class/superElemMegamorphic.js @@ -0,0 +1,33 @@ +class C { }; +C.prototype.a = "a"; +C.prototype.b = "b"; +C.prototype.c = "c"; +C.prototype.d = "d"; +C.prototype.e = "e"; +C.prototype.f = "f"; +C.prototype.g = "g"; +C.prototype.h = "h"; +C.prototype.i = "i"; +C.prototype.j = "j"; +C.prototype.k = "k"; +C.prototype.l = "l"; +C.prototype.m = "m"; +C.prototype.n = "n"; +C.prototype.o = "o"; +C.prototype.p = "p"; +C.prototype.q = "q"; +C.prototype.r = "r"; + +class D extends C { + foo(p) { + return super[p]; + } +} + +var d = new D(); + +for (let i = 0; i < 20; ++i) { + for (let p in C.prototype) { + assertEq(p, d.foo(p)); + } +} |