Commit Graph

2943 Commits

Author SHA1 Message Date
Brendan Eich
d62ee36613 Fix script->owner maintenance; also fix warning. 2008-08-21 05:04:20 -07:00
Brendan Eich
b1e05f4fc9 JSThread is not zeroed when allocated, grrr. 2008-08-21 04:51:46 -07:00
Brendan Eich
e4a3506856 Fix typo. 2008-08-21 04:22:48 -07:00
Brendan Eich
7ebaf5bf1c Merge. 2008-08-21 04:17:49 -07:00
Andreas Gal
a49e15bd85 Remove FastEval builtin. 2008-08-21 04:17:17 -07:00
Brendan Eich
791221dfae Followup upvar fix, easy assertbotch avoidance. 2008-08-21 04:16:50 -07:00
Brendan Eich
fd148818e1 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
147018b013 Merge, plus restore TraceRecorder::activeCallOrGlobalSlot. 2008-08-21 03:51:37 -07:00
Brendan Eich
9cd8e5a539 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
35915d94ea disable tracing with active call object pending perf fix 2008-08-21 03:19:17 -07:00
Andreas Gal
f2c2859267 Merge. 2008-08-21 03:13:57 -07:00
Andreas Gal
d9acfb10f0 Remove FastEval, broken by design (r=brendan). 2008-08-21 03:13:31 -07:00
David Anderson
f34f92698f Fixed code generation bug in AMD64 port. Enabled AMD64 JIT now. 2008-08-21 02:53:53 -07:00
Brendan Eich
324b9c7f4e 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
2c4e22add3 Fix CHECK_RECORDER macro to use XOR to evaluate both terms. 2008-08-21 01:38:50 -07:00
Andreas Gal
2e767b124c 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
ed7fab1440 trace |new Array|, via the magic of copy and paste 2008-08-21 00:50:20 -07:00
Brendan Eich
321ae383ba Merge. 2008-08-21 00:47:51 -07:00
Andreas Gal
5a8f2bff2b Merge. 2008-08-21 00:45:44 -07:00
Andreas Gal
fcd8670fec 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
9b56ca4984 Tidy up globalShape mismatch reporting. 2008-08-21 00:19:04 -07:00
Andreas Gal
a7b0f45c3f Export js_NaN. 2008-08-21 00:13:40 -07:00
Brendan Eich
e5f489dcbb Merge. 2008-08-20 23:47:47 -07:00
Brendan Eich
b9d10512b7 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
e26e3234f4 Merge. 2008-08-20 23:40:24 -07:00
Andreas Gal
12fcdd141f 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
ddf445130e Increase HOTEXIT to 1 (from 0). 2008-08-20 23:35:00 -07:00
Andreas Gal
1261e82b42 Eliminate redundant BoxDouble(UnboxDouble) chains. 2008-08-20 23:19:48 -07:00
shaver@mozilla.org
6870d297ef say what we're returning from from EnterFrame 2008-08-20 23:12:28 -07:00
Brendan Eich
9e4119701e Merge. 2008-08-20 22:44:16 -07:00
Brendan Eich
e9b635b38a 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
8468ac7444 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
36ddb45efb 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
4a25cf5a32 Defer eval'ed script destruction to next GC; expose js_obj_eval for tracing. 2008-08-20 22:18:42 -07:00
Andreas Gal
e9f3ccf839 Push actual guard that failed in a nested call, not the expected. 2008-08-20 20:12:19 -07:00
Andreas Gal
87295d3d95 Merge. 2008-08-20 19:25:26 -07:00
Andreas Gal
1b99fe0e1e 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
9817a0cd97 fix js_IsLoopExit to better handle for-in exits, r=mrbkap 2008-08-20 18:50:49 -07:00
Andreas Gal
49f0b4f6cb 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
fdb661bd5e Clear the oracle on every GC. 2008-08-20 16:01:56 -07:00
Andreas Gal
3a2b40e4c4 Merge. 2008-08-20 15:43:57 -07:00
Andreas Gal
3e55729492 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
913b472c52 disable vprof building so that we can build on XP 2008-08-20 15:23:44 -07:00
Andreas Gal
98f67af6d0 Add a way to clear the oracle. 2008-08-20 15:18:43 -07:00
Andreas Gal
0954618ab1 Merge. 2008-08-20 15:04:22 -07:00
Andreas Gal
ccfca5d79f Clear global slots and global type map when clearing the code cache. 2008-08-20 15:03:51 -07:00
Andreas Gal
f3972bfb84 Backed out changeset be63a51a0a3b. Breaks tofte if run from ./time.sh. 2008-08-20 14:57:49 -07:00
Vladimir Vukicevic
9a3d208ae4 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
6bc330ef33 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
1859be808c Stub the getter and setter on class prototypes and constructor (bz, r=brendan, bug 451154). 2008-08-20 12:58:07 -07:00