Andreas Gal
b662d761d2
Merge.
2008-08-21 00:45:44 -07:00
Andreas Gal
c3534a178d
If we expect a concrete value but see an undefined come into the trace, convert undefined to the concerete value.
2008-08-21 00:43:45 -07:00
Andreas Gal
a3eaf36b9e
Export js_NaN.
2008-08-21 00:13:40 -07:00
Brendan Eich
4f94abcf86
Merge.
2008-08-20 23:47:47 -07:00
Brendan Eich
3c720dd40f
Use JS_FRIEND_API for new JS_ArrayToJSUint8Buffer, etc., and use it on prototypes and definitions (fixes some platform builds).
2008-08-20 23:46:31 -07:00
Andreas Gal
efeb3bebb5
Merge.
2008-08-20 23:40:24 -07:00
Andreas Gal
c9e85cc13f
Remove bogus fadd +1 check at the end of the loop. We have long switched over to starting slots as int and hence n++ will be emitted as integer add with i2f, so checking for i2f only is sufficient.
2008-08-20 23:39:57 -07:00
Andreas Gal
8f92f3d00c
Increase HOTEXIT to 1 (from 0).
2008-08-20 23:35:00 -07:00
Andreas Gal
2d7690c55c
Eliminate redundant BoxDouble(UnboxDouble) chains.
2008-08-20 23:19:48 -07:00
shaver@mozilla.org
c81ad974d5
say what we're returning from from EnterFrame
2008-08-20 23:12:28 -07:00
Brendan Eich
75d2de0fbd
Merge.
2008-08-20 22:44:16 -07:00
Brendan Eich
7164be1493
1. Add activeCallOrGlobalSlot, used by JSOP_NAME, JSOP_CALLNAME, etc. recorders to cope with Call objects on the scope chain, if they represent still-active frames covered by callDepth.
...
2. Add builtin for eval, to be optimized further, to handle very short eval'ed programs as found in popular benchmarks.
3. Add common scopeChain TraceRecorder helper, to generate the LIR to load cx->fp->scopeChain.
4. Add ABORT_TRACE to LeaveFrame for clarity.
2008-08-20 22:40:39 -07:00
Andreas Gal
a2622614d6
Support multiple returns from called trees by continueing the outer tree with a new nested guard.
2008-08-20 22:37:00 -07:00
Andreas Gal
a02602a81d
Restore state.sp and state.rp before the nested guard exit point so we can have a sequence of them and still have rp/sp adjusted correctly.
2008-08-20 22:23:17 -07:00
Brendan Eich
082876bc3b
Defer eval'ed script destruction to next GC; expose js_obj_eval for tracing.
2008-08-20 22:18:42 -07:00
Andreas Gal
a4438ded7e
Push actual guard that failed in a nested call, not the expected.
2008-08-20 20:12:19 -07:00
Andreas Gal
da23acf9bc
Merge.
2008-08-20 19:25:26 -07:00
Andreas Gal
4c98c4c0a8
Don't emit a guard at the end of CALLNAME and friends since the values CALLNAME puts on the stack (callee, this) are not seen by the interpreter yet, and thus get store killed. Instead, emit the guard in CALL, at which point the values are properly stacked.
2008-08-20 19:24:57 -07:00
shaver@mozilla.org
c66d3db3b8
fix js_IsLoopExit to better handle for-in exits, r=mrbkap
2008-08-20 18:50:49 -07:00
Andreas Gal
dd3e7fc8e5
Add a switch to disable the oracle, in which case we never demote any slots.
2008-08-20 16:10:56 -07:00
Andreas Gal
3b3457d061
Clear the oracle on every GC.
2008-08-20 16:01:56 -07:00
Andreas Gal
e591e5e46b
Merge.
2008-08-20 15:43:57 -07:00
Andreas Gal
73ed9b9d8d
If at loop entry we expect a double, but at the loop tail we store an int because we suck the i2f into the side exit, we have to explicitly cast back up to double using i2f otherwise we won't be able to make sense of the value when we load it at the top of the next iteration.
2008-08-20 15:43:26 -07:00
shaver@mozilla.org
e3e9699e1d
disable vprof building so that we can build on XP
2008-08-20 15:23:44 -07:00
Andreas Gal
540940d45f
Add a way to clear the oracle.
2008-08-20 15:18:43 -07:00
Andreas Gal
968fcc4bdf
Merge.
2008-08-20 15:04:22 -07:00
Andreas Gal
2060530d22
Clear global slots and global type map when clearing the code cache.
2008-08-20 15:03:51 -07:00
Andreas Gal
cd6218e893
Backed out changeset be63a51a0a3b. Breaks tofte if run from ./time.sh.
2008-08-20 14:57:49 -07:00
Vladimir Vukicevic
ea512d7047
b=451242, add fast-paths for dense array to uint/int/double buffer conversion; r=bent/mrbkap
2008-08-20 14:47:01 -07:00
Brendan Eich
34b056f139
Don't disable property caching in eval (this requires GC'ing eval scripts). Do tolerate active Call object at head of scope chain in record_JSOP_CALLNAME, and go straight to the stack slots.
2008-08-20 14:04:37 -07:00
Andreas Gal
4478a3664f
Stub the getter and setter on class prototypes and constructor (bz, r=brendan, bug 451154).
2008-08-20 12:58:07 -07:00
Andreas Gal
92ba4d895b
When adjusting integers to doubles in tree calls start with the current stack frame only.
2008-08-20 12:47:39 -07:00
David Anderson
6b88cafdd8
Fixed some valgrind whinings (not actual bug fixes).
2008-08-20 12:17:31 -07:00
Vladimir Vukicevic
1772a314c6
wrong condition check in nanojit with qjoin(qlo,qhi)
2008-08-20 11:32:22 -07:00
David Anderson
68393fd378
Fixed typo that broke the tree. Sorry!
2008-08-20 10:38:50 -07:00
shaver@mozilla.org
7e0ef84c66
default to non-verbose for DEBUG, set TRACEMONKEY=verbose in env to go verbose
2008-08-20 10:15:42 -07:00
David Anderson
8cb078fc81
Another portability fix. math-spectral-norm is crashing in the test harness so keeping 64-bit JIT off (everything else works).
2008-08-20 09:59:23 -07:00
David Anderson
0e9a049fe2
Merge.
2008-08-20 09:50:41 -07:00
shaver@mozilla.org
51d57bfb68
merge from mozilla-central
2008-08-20 08:17:17 -07:00
Brendan Eich
3829ced9f4
Add str + obj concatenation for 3d-raytrace.js.
2008-08-20 02:35:17 -07:00
Dave Camp
3a63c73db6
Backed out changeset af00b3f27c64 (Bug 418051)
2008-08-20 01:15:25 -07:00
Andreas Gal
1664621ef7
If the outer tree has a slot in an integer register, but the inner tree expects a double, make sure to promote the value before calling the tree, otherwise the inner tree will read the value from the stack incorrectly.
2008-08-20 00:51:56 -07:00
Andreas Gal
3f8c6912a6
Correctly calculate tree call stack adjustment, even if we don't have any arguments in the current frame and hand pick some cleanups from the backed-out changeset.
2008-08-19 23:31:33 -07:00
Blake Kaplan
9d89a817cc
bug 418051 - Don't allow shorthand object initializer through destructuring assignment. r=brendan
2008-08-19 23:31:21 -07:00
Andreas Gal
265325dead
Back out multi-trees. There is absolutely no way this will be debugged in time for tomorrow. Need a bit more gdb man-power.
2008-08-19 23:28:13 -07:00
Andreas Gal
8ced7520f5
Always blacklist the first fragment in the peer list, and blacklist if we see a loop that is not type-stable.
2008-08-19 23:10:28 -07:00
Andreas Gal
549358ccbc
Don't build trees inside tree calls if no suitable tree can be found (for now.)
2008-08-19 23:00:19 -07:00
Andreas Gal
c9feda7ac1
Improved debug output.
2008-08-19 22:59:08 -07:00
David Anderson
a3971be462
Merge.
2008-08-19 22:33:43 -07:00
Andreas Gal
bda3ded8af
Add debugging facilities for typemaps and fix sp_adj calculation for tree calls.
2008-08-19 22:29:02 -07:00