d0b29a253c221f211cf45c5bd17ab49632a2e30b: Backed out changeset a58e7ce6eb7f. stack(0) is wrong, if at all it should have been stack(-(1 + argc)). But anyway, its impossible to write through to the frame via set() at that point because leaveFrame() doesn't actually modify cx->fp. We need to wait for the interpreter to do so. Until then nativeFrameOffset produces incorrect values and the assert fails in set.
Andreas Gal <gal@mozilla.com> - Thu, 24 Jul 2008 10:09:51 -0700 - rev 17817
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Backed out changeset a58e7ce6eb7f. stack(0) is wrong, if at all it should have been stack(-(1 + argc)). But anyway, its impossible to write through to the frame via set() at that point because leaveFrame() doesn't actually modify cx->fp. We need to wait for the interpreter to do so. Until then nativeFrameOffset produces incorrect values and the assert fails in set.
a58e7ce6eb7f1dc53de70c13b9707d4799f331aa: fix return-value handling for new stack layout
shaver@mozilla.org - Thu, 24 Jul 2008 00:31:37 -0700 - rev 17816
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
fix return-value handling for new stack layout
4592d6bdad1bcf9b77116dc72c4fe1d8c449b110: Maintain a separate frame for globals using InterpState->gp.
Andreas Gal <gal@mozilla.com> - Wed, 23 Jul 2008 23:18:02 -0700 - rev 17815
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Maintain a separate frame for globals using InterpState->gp. This will allow nested loops to access the globals interned by outer loops while at the same time sharing parts of the stack of the outer loop.
1fa3e45f253a841ccdfee21c062b082919f236f2: Add a fast path for nativeFrameOffset that walks entire groups at a time, not slots. Check against the result calculated by the FORALL macro in DEBUG builds (for sanity).
Andreas Gal <gal@mozilla.com> - Wed, 23 Jul 2008 16:39:17 -0700 - rev 17814
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Add a fast path for nativeFrameOffset that walks entire groups at a time, not slots. Check against the result calculated by the FORALL macro in DEBUG builds (for sanity).
c1d3d1e0e92418c474a374bcc876aa8845fdb00b: Merge. Make sure we clear out all slots from the tracker when leaving a frame.
Andreas Gal <gal@mozilla.com> - Wed, 23 Jul 2008 15:56:27 -0700 - rev 17813
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Merge. Make sure we clear out all slots from the tracker when leaving a frame.
7f3cc9a4bf1a39d823ef4f1a3bcbc8ecafe0553e: When addressing locations above the stack water level, use ->sp as base. Shaver accidently changed this to ->spbase when merging Igor's patch, so we were writing past the water mark and the stores were killed.
Andreas Gal <gal@mozilla.com> - Wed, 23 Jul 2008 15:48:15 -0700 - rev 17812
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
When addressing locations above the stack water level, use ->sp as base. Shaver accidently changed this to ->spbase when merging Igor's patch, so we were writing past the water mark and the stores were killed.
711092884c032410bd635b1d68ef9c778afa3777: Lazy fill the stackTracker as we lookup the nativeFrameOffset for values. Purge all entries related to the current frame when it is popped. This code could be further simplified if Tracker was a template.
Andreas Gal <gal@mozilla.com> - Wed, 23 Jul 2008 02:57:56 -0700 - rev 17811
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Lazy fill the stackTracker as we lookup the nativeFrameOffset for values. Purge all entries related to the current frame when it is popped. This code could be further simplified if Tracker was a template.
58268341e59090e24eb96b8ab4116d675732eec7: tighten up some bounds, still not quite right
shaver@mozilla.org - Wed, 23 Jul 2008 11:42:52 -0400 - rev 17810
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
tighten up some bounds, still not quite right
74c74142691de291bfa8790dad6e81416cbf22ae: merge from andreas
shaver@mozilla.org - Wed, 23 Jul 2008 01:08:23 -0400 - rev 17809
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
merge from andreas
c31887108aa492dabf5a8e91a82fe47ac378aa47: merge (still not working, probably box/unbox dumbness)
shaver@mozilla.org - Wed, 23 Jul 2008 01:06:18 -0400 - rev 17808
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
merge (still not working, probably box/unbox dumbness)
d7ce57c5a2d602725c8102d4d2a420c07b6a9b24: merge (now compiling, untested)
shaver@mozilla.org - Wed, 23 Jul 2008 00:20:29 -0400 - rev 17807
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
merge (now compiling, untested)
564c062f3f2ed3ae3bf7f7ed72e6e33d081659e5: merge (mostly, doesn't build)
shaver@mozilla.org - Tue, 22 Jul 2008 23:58:43 -0400 - rev 17806
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
merge (mostly, doesn't build)
a72fa45c84d6ae1cca633dc49efde0e03cd46201: Handle leaving of frames in one central place.
Andreas Gal <gal@mozilla.com> - Tue, 22 Jul 2008 20:16:12 -0700 - rev 17805
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Handle leaving of frames in one central place.
d69e27a95299f6e4951e57ec36758882b024c698: Reduce HOTLOOP threshold to 2.
Andreas Gal <gal@mozilla.com> - Tue, 22 Jul 2008 18:31:44 -0700 - rev 17804
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Reduce HOTLOOP threshold to 2.
76743337c5cf144cad79a4e188a14841d9271d1f: Avoid calculating native frame offset by tracking the last load/store for every slot and extracting the offset from there.
Andreas Gal <gal@mozilla.com> - Tue, 22 Jul 2008 17:54:04 -0700 - rev 17803
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Avoid calculating native frame offset by tracking the last load/store for every slot and extracting the offset from there.
300d7a711abd509d44ffbad624a0d12ea19114e1: Avoid nativeFrameOffset calls in import().
Andreas Gal <gal@mozilla.com> - Tue, 22 Jul 2008 17:24:29 -0700 - rev 17802
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Avoid nativeFrameOffset calls in import().
f97a027eb75b6c41909ad906902fb98231ff9d26: Merge.
Andreas Gal <gal@mozilla.com> - Mon, 21 Jul 2008 19:38:03 -0700 - rev 17801
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Merge.
50e742a24660c1fd0c238e0ecf02299396393acc: Add a pattern to recognize safe_add and emit a simple add for it.
Andreas Gal <gal@mozilla.com> - Mon, 21 Jul 2008 19:37:43 -0700 - rev 17800
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
Add a pattern to recognize safe_add and emit a simple add for it.
3a9f641607b8688ff5016c41370c9ce8a5103a13: use nargs rather than argc, since bytecode only refers to [o-nargs) args
shaver@mozilla.org - Mon, 21 Jul 2008 22:31:08 -0400 - rev 17799
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
use nargs rather than argc, since bytecode only refers to [o-nargs) args
19b10d2f8e770f848cf327aa24704944c80f396a: make time.sh more useful
shaver@mozilla.org - Mon, 21 Jul 2008 21:44:21 -0400 - rev 17798
Push 1452 by shaver@mozilla.com at Fri, 22 Aug 2008 00:08:22 +0000
make time.sh more useful
(0) -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip