Commit Graph

132 Commits

Author SHA1 Message Date
Brendan Eich
56658da21f Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal). 2008-12-16 19:03:42 -08:00
Robert Sayre
443f738d12 Backed out changeset f682453c06d0. Failing scriptaculous unit tests, doesn't build on windows or mac ppc. 2008-12-11 20:43:32 -08:00
Brendan Eich
ece10ee8df Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal). 2008-12-11 17:50:56 -08:00
Brendan Eich
37c40ca7c0 Merge. 2008-11-17 16:29:40 -08:00
Brendan Eich
4f1fb4a478 No else after return if you please. 2008-11-16 23:16:30 -08:00
Andreas Gal
c19528a655 Inline int32 to id fast path into the builtins (465268, r=danderson). 2008-11-16 22:20:34 -08:00
Andreas Gal
3c5889df4e Fix tracing of JSOP_IN (465241, r=danderson). 2008-11-16 22:13:13 -08:00
Andreas Gal
bd10f75bdb Can't bypass ECMADoubleToInt32 in js_StringToInt32 (465239, r=danderson). 2008-11-16 20:43:13 -08:00
Jeff Walden
dded0f5f95 Bug 462060 - TM: JIT: Initializing an array to a constant in a loop doesn't work for some constant values. r=brendan 2008-11-15 16:42:35 -08:00
Andreas Gal
e609f0bb95 Cleanup GuardRecord, SideExit, and InterpStruct and extract VM-dependant fields (463313, r=danderson). 2008-11-07 15:23:43 -08:00
Brendan Eich
6ddc16bbe2 Bug 462103 - TM: We don't trace some variants of string + other type (gal+brendan red-headed stepchild). 2008-10-29 00:14:30 -07:00
Andreas Gal
b14d526b66 Merge. 2008-10-21 17:50:52 -07:00
Andreas Gal
ec7efc925c Remove code to unlink trees to reduce the size of GuardRecord. Allow GuardRecords to share one common SideExit structure. The VM places both explicitly into the LIR (460538, r=danderson). 2008-10-21 17:50:32 -07:00
Jason Orendorff
d922cb412a Bug 460495 - TM: builtins js_Any_getelem, js_Any_setelem should take int32. r=gal. 2008-10-20 14:20:22 -05:00
Andreas Gal
9bfc3c5072 Properly recover from a nested side exit with more than a single level of nesting (459539, r=danderson). 2008-10-12 15:39:32 -07:00
Jason Orendorff
232767cb27 Bug 459294 - TM: move soft float builtins next to SoftFloatFilter. r=andreas. 2008-10-10 11:31:23 -05:00
Jason Orendorff
a27d101dab Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith) 2008-10-08 17:08:33 -05:00
Brendan Eich
19e9638dc3 Bug 457920 - regexp-dna.js and generality want JSOP_GETELEM(dense array, "0") (r=mrbkap/gal). 2008-10-06 22:30:36 -07:00
Boris Zbarsky
cab53dbee6 Bug 456165. Trace |new Date()|. r=brendan 2008-10-06 20:28:22 -04:00
Graydon Hoare
7bd301d171 Bug 458431 - expression-ordering fix for traced Math.max(0,-0), r=mrbkap 2008-10-03 14:07:33 -07:00
Boris Zbarsky
fe2220afb1 Bug 456165 part 2. Trace Date.now. r=gal 2008-09-26 14:37:50 -04:00
Andreas Gal
5b117e1c3f Rewrite and cleanup GETELEM and SETELEM (455748, r=brendan). 2008-09-25 11:31:40 -07:00
Andreas Gal
eb5f8be2b1 Demote modulo operations to integer if both args are int (456934, r=brendan). 2008-09-24 23:28:56 -07:00
Andreas Gal
958c18fb2a Add builtin for invocation of match() on String objects (454682, r=danderson). 2008-09-23 17:18:40 -07:00
Boris Zbarsky
f1b69640dd Backed out changeset c0364f5e0a84 2008-09-21 09:02:09 -04:00
Boris Zbarsky
f068ba4b22 Adding missing file 2008-09-21 08:59:52 -04:00
Andreas Gal
da5081c842 Properly calculate tree exit/call guards (bug 453397, r=danderson). 2008-09-19 18:45:57 -07:00
Andreas Gal
183ab27e9d Use Object as prototype if the prototype of the constructor is primitive (452960, r=mrbkap). 2008-09-16 18:49:27 -07:00
Andreas Gal
b2cff5e791 Expose push pop in jsarray and add builtins (453734, r=mrbkap). 2008-09-16 17:07:59 -07:00
Andreas Gal
61aeda1e95 Detect modulo by constant that is not zero and demote to integer modulo (451788, r=brendan). 2008-09-16 06:20:54 -07:00
Andreas Gal
70d28c8730 Backed out changeset 61b9209c186f 2008-09-15 19:59:06 -07:00
Andreas Gal
13cc3eaad6 Backed out changeset 87fe68f51647 2008-09-15 17:09:25 -07:00
Andreas Gal
0764f9fccb Demote modulo operation with a constant non-zero right hand side (451788). 2008-09-15 15:59:25 -07:00
Andreas Gal
cdb4ed8fae Merge. 2008-09-15 15:01:44 -07:00
Andreas Gal
95068bdc26 Properly handle floating point array indexes (453261, r=brendan). 2008-09-15 15:00:40 -07:00
Vladimir Vukicevic
47e9d3a21b b=454530; misc trace abort fixes (trace String.concat); r=brendan 2008-09-15 17:30:05 -04:00
Andreas Gal
be1b44bf0e Trace slow array get/set of indexed props (453261, r=brendan). 2008-09-15 00:54:28 -07:00
Brendan Eich
a834957775 TraceRecorder::record_SetPropMiss mis-layered on top of record_SetPropHit (454689, r=mrbkap). 2008-09-11 15:53:00 -07:00
Brendan Eich
40cf4096c7 Avoid needless prototype-shape purges (454035, r=igor). 2008-09-09 09:57:10 -07:00
Blake Kaplan
4203e79309 Trace Math.max. r=brendan 2008-09-08 20:06:58 -07:00
David Anderson
5018287de0 Trace through parseInt(double), bug 454037 r=gal+brendan. 2008-09-07 02:41:10 -05:00
Brendan Eich
623433f549 Merge. 2008-09-05 18:34:16 -07:00
Brendan Eich
fc936fa1da Checkpoint arguments tour-de-force (453730). 2008-09-05 18:29:08 -07:00
David Anderson
9937dc1262 Trace through Math.log as a known native (bug 453868, r=brendan). 2008-09-05 14:25:01 -07:00
Brendan Eich
ff7bea2566 Use js_NaN global that we exported from jsnum.cpp, instead of cx->runtime->jsNaN. 2008-09-04 22:30:04 -07:00
Brendan Eich
4fa7c5195d Put the trace-recording/executing flag in the trace monitor to handle many contexts per thread (451666, r=gal). 2008-09-03 00:38:24 -07:00
Vladimir Vukicevic
420e72ed85 b=449526, TM: fix up ARM code generation / softfloat 2008-09-02 22:29:23 -07:00
Brendan Eich
48926ba363 Fix bool FASTCALL vs. Nanojit calling convention bug, also some non-bool whoppers caught in the process (453361, r=mrbkap). 2008-09-02 15:37:22 -07:00
Ginn Chen
76f8dc0daf On x86 compilers without fastcall, simulate it when invoking traces and un-simulate it when invoking builtins (bug 452390, r=dvander). 2008-09-02 11:43:55 -07:00
Brendan Eich
5a8cb06838 Kind of an Array initialiser tour-de-force for bug 452878:
1. Split FastNewArray from FastNewObject built-in for greater speed/specialization and further splitting into Array_1str, etc.
2. Add Array_1str, Array_2obj, and Array_3num builtins for benchmarked new Array(...) constructions.
3. Export ARRAY_SET_DENSE_LENGTH and ARRAY_GROWBY via jsarray.h to jstracer.cpp.
4. Tweaked SetArrayElement to make common/best case code be the predicted/prefetched path.
5. js_MakeArraySlow now preserves the pre-slow length in JSSLOT_ARRAY_COUTN as a jsval-tagged int if possible -- this will help the tracer avoid aborting on dense arrays that turned slow but not sparse by addition of a named property.
6. Export js_fun_apply and js_Object from their respective .cpp files, in these cases just to jstracer.cpp via local prototypes (no .h files involved).
7. More INS_CONSTPTR and INS_CONST macrology for better names in trace debug spew.
8. Fix TraceRecorder::test_property_cache to avoid aborting on JSOP_SETNAME that creates a new global, by setting it to undefined so it can be lazily imported. This helps 3d-raytrace.js, which has an unintended global loop control variable in a function.
9. JSTraceableNative loses its premature-deadwood tclasp member (my bad).
10. TraceRecorder::record_JSOP_NEW() handles 'new Object' now along with the 'new Array' variations. I also cut down the copy-paste code from JSOP_CALL's record method to mostly what is needed now.
11. Add KNOWN_NATIVE_DECL macro for concise prototype of library-private js_* native functions, and alphabetized the lists (too long for any other order to be winning).
12. Big honking special case for foo.apply(obj, [str]), which we can generalize as needed. Helps string-tagcloud.js. What's cool is how tracing allows us to rewrite this to foo(str) with this set to obj, eliminating the Function.prototype.apply. This requires some rewriting in JSOP_ENDINIT's record method.
2008-09-01 01:24:58 -07:00