Commit Graph

195843 Commits

Author SHA1 Message Date
Andreas Gal
6dfe36b41f Fix warning about signed/unsigned comparison. 2008-08-21 11:40:56 -07:00
Andreas Gal
ee1287cefd Merge. 2008-08-21 05:21:37 -07:00
Andreas Gal
538a1f0245 Abort recording when an error occurs. 2008-08-21 05:21:01 -07:00
Brendan Eich
65cd117dea Fix script->owner maintenance; also fix warning. 2008-08-21 05:04:20 -07:00
Brendan Eich
3bfbf75525 JSThread is not zeroed when allocated, grrr. 2008-08-21 04:51:46 -07:00
Brendan Eich
90efbc7036 Fix typo. 2008-08-21 04:22:48 -07:00
Brendan Eich
09d39d0036 Merge. 2008-08-21 04:17:49 -07:00
Andreas Gal
ad05182e35 Remove FastEval builtin. 2008-08-21 04:17:17 -07:00
Brendan Eich
8d6998aead Followup upvar fix, easy assertbotch avoidance. 2008-08-21 04:16:50 -07:00
Brendan Eich
d5629d06d7 Add split built-in, also sort knownNatives for my own sanity (should sort builtins.tbl and jsbuiltins.cpp by function while at it, but too tired). 2008-08-21 04:13:07 -07:00
Brendan Eich
db79b8dc5b Merge, plus restore TraceRecorder::activeCallOrGlobalSlot. 2008-08-21 03:51:37 -07:00
Brendan Eich
213f3d7e5f Upvar, v0.1 (limited to looking up from eval in a function, to the function's args and vars). 2008-08-21 03:47:33 -07:00
shaver@mozilla.org
4dc2d1c49a disable tracing with active call object pending perf fix 2008-08-21 03:19:17 -07:00
Andreas Gal
b707c7b62d Merge. 2008-08-21 03:13:57 -07:00
Andreas Gal
3f9f079dee Remove FastEval, broken by design (r=brendan). 2008-08-21 03:13:31 -07:00
David Anderson
1d91ed9efc Fixed code generation bug in AMD64 port. Enabled AMD64 JIT now. 2008-08-21 02:53:53 -07:00
Brendan Eich
95f06acd98 Remove lambda-replace built-in, it's not safe to record into a nested js_Interpret. 2008-08-21 01:39:16 -07:00
Brendan Eich
3d0d4596e1 Fix CHECK_RECORDER macro to use XOR to evaluate both terms. 2008-08-21 01:38:50 -07:00
Andreas Gal
5882463a97 Convert undefined to NULL on tree entry if the tree wants an object type. 2008-08-21 01:13:07 -07:00
shaver@mozilla.org
7eba6cb0de trace |new Array|, via the magic of copy and paste 2008-08-21 00:50:20 -07:00
Brendan Eich
699b3431cd Merge. 2008-08-21 00:47:51 -07:00
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
Brendan Eich
fa907a7cf9 Tidy up globalShape mismatch reporting. 2008-08-21 00:19:04 -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