Commit Graph

12069 Commits

Author SHA1 Message Date
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