Commit Graph

1444 Commits

Author SHA1 Message Date
Vladimir Vukicevic
d317d0075d b=480796; detect whether ARM chip has VFP and/or v6t2 instructions; r=gal 2009-03-20 15:53:33 -07:00
Andreas Gal
2018b20826 Bump maxbranches to 32 (484341, r=dmandelin). 2009-03-20 14:24:23 -07:00
Jeff Walden
314cf39c41 Bug 472592 - unbox_jsval is infallible, make the signature reflect that. r=gal 2009-01-11 13:57:42 -08:00
Jeff Walden
179a1749fb Despite the previous log message, the previous push was r=brendan 2009-01-10 15:25:03 -08:00
Jeff Walden
949fc3d056 Bug 466905 - Fix JSOP_NEWARRAY to be not-buggy and use it when possible. NOT REVIEWED YET 2009-01-10 12:15:08 -08:00
Andreas Gal
73fd6451b9 Track timeout side exits separately in jitstats (472761, r=jwalden). 2009-01-09 16:38:57 -08:00
Graydon Hoare
8424af9530 Bug 472553 - Annotations required by jsstack.js analysis, r=jorendorff. 2009-01-07 14:14:51 -08:00
Igor Bukanov
3d5269621d bug 465030 - Support terminating long-running scripts without using extra threads or signals. r=gal,sayrer 2009-01-07 18:45:13 +01:00
Igor Bukanov
33ba59a269 Backed out changeset 763b96e81579 - I committed the wrong patch 2009-01-07 18:44:50 +01:00
Igor Bukanov
01c091bb60 bug 465030 - Support terminating long-running scripts without using extra threads or signals. r=gal,sayrer 2009-01-07 18:40:58 +01:00
Graydon Hoare
6383e1d5d2 Bug 470388 - Tighten assertion for JSFRAME_POP_BLOCKS on trace-entry frame, r=brendan. 2009-01-06 18:20:33 -08:00
Jason Orendorff
7f92f10b08 Bug 468641 - TM: Add bytecode disassembly to JS_JIT_SPEW output (r=crowder) 2009-01-06 16:51:32 -06:00
Jason Orendorff
be00149c86 Bug 462021 - TM: Make JSStackFrame reconstitution infallible (part 4 of 4, rename recoveryDoublePool to reservedDoublePool, r=brendan)
--HG--
extra : rebase_source : d865549cb727aada20fbaa78286de37a97b85bca
2009-01-06 13:39:14 -06:00
Jason Orendorff
b20c028359 Bug 462021 - TM: Make JSStackFrame reconstitution infallible (part 3 of 4, call objects, r=brendan)
--HG--
extra : rebase_source : 14a82b2b08c8b7dbae5e72623685b7c3947df603
2008-12-11 17:53:05 -06:00
Jason Orendorff
acc67a8b40 Bug 462021 - TM: Make JSStackFrame reconstitution infallible (part 2 of 4, stack, r=gal)
--HG--
extra : rebase_source : f8e3e4853793d02e0771ea663cebe7e1a0d98e4e
2008-12-11 17:53:05 -06:00
Jason Orendorff
999ec8e790 Bug 462021 - TM: Make JSStackFrame reconstitution infallible (part 1 of 4, easy stuff, r=gal)
--HG--
extra : rebase_source : 46b26c86f02bb0db70ca357ed71f5a8a9464dc9c
2008-12-11 17:53:04 -06:00
Andreas Gal
61a1479f3e Don't try to deallocate the trace recorder from inside one of its own instance methods (472049, r=brendan). 2009-01-05 16:13:53 -08:00
Andreas Gal
a59109830e Use a single lirbuf for the tracer and rewind lirbuf during GC (471821, r=danderson). 2009-01-02 10:55:02 -08:00
Andreas Gal
8b28ae8610 Store frame state information in the code cache and merely put a pointer to it onto the native call stack (470375, r=danderson). 2009-01-01 17:55:43 -08:00
David Mandelin
90baccb99f Bug 471602 part 1: make regexp compiler use one shared LIR buffer, r=gal 2008-12-31 16:41:33 -08:00
Jeff Walden
6f05e9de07 Make similar-acting code similar-reading as well (but not shared due to the +/- difference), no bug 2008-12-29 07:59:06 -06:00
Jeff Walden
af717d86d5 Bug 470739 - Trace more == cases. r=gal 2008-12-26 14:48:33 -05:00
Igor Bukanov
81c3a2b632 Backed out changeset 2d5e6b1c7254 - busted the WINNT 5.1 talos tracemonkey. 2008-12-23 19:24:09 +01:00
Andrei Saprykin
11dac3f234 bug 453157 - watchdog thread as an alternative to operation count. r=igor,mrbkap 2008-12-23 16:12:11 +01:00
Jesse Ruderman
dba23c0ab9 Fix bustage 2008-12-22 16:07:49 -08:00
Jeff Walden
5d25aca194 Bug 470737 - TM: "switch(1/0){case Infinity:}" 4X slower with JIT enabled. r=gal 2008-12-22 15:42:24 -08:00
Jeff Walden
5d05cfd543 Bug 470409 - TM: Crash [@ js_EqualStrings]. r=brendan 2008-12-21 21:26:08 -08:00
Igor Bukanov
5d5cb0738c bug 469233 - using interrupt hook support in the interpreter for trace recording. r=brendan 2008-12-21 12:55:09 +01:00
Igor Bukanov
8062218e55 Backed out changeset 605fd1985d05 - more merge typos. 2008-12-21 12:50:36 +01:00
Igor Bukanov
1be7edd38e bug 469233 - using interrupt hook support in the interpreter for trace recording. r=brendan 2008-12-21 12:31:38 +01:00
Igor Bukanov
635ca1d23a Backed out changeset f13e2a2a5d66 - I was not careful when merging the unary op changes 2008-12-21 12:23:08 +01:00
Igor Bukanov
3388b615ce bug 469233 - using interrupt hook support in the interpreter for trace recording. r=brendan 2008-12-21 00:16:41 +01:00
Jeff Walden
4710efd8a4 Bug 469942 - TM: 20% slower to compute unary +/-. r=brendan 2008-12-19 19:30:09 -08:00
Brendan Eich
7826ab3e9f Fix warnings pointed out by Waldo from apply patch (465214). 2008-12-19 14:15:35 -08:00
Brendan Eich
608700e168 Back out patch for bug 469625, it mysterious busts stuff. 2008-12-19 01:32:48 -08:00
Brendan Eich
16350be804 Merge, dammit! 2008-12-18 22:40:58 -08:00
Brendan Eich
b9cf426072 Bug 469625 - TM: Crash [@ js_String_getelem] (r=jorendorff). 2008-12-18 22:35:46 -08:00
Brendan Eich
90fd9c4313 Merge m-c into tm again. 2008-12-18 22:11:42 -08:00
Brendan Eich
9af4f618a7 Bug 470300 - "Assertion failure: StackBase(fp) + blockDepth == regs.sp" with |let| (r=gal). 2008-12-18 21:08:57 -08:00
Andreas Gal
bbf40348b6 Trace apply/call with an imacro (465214, r=brendan). 2008-12-18 19:20:47 -08:00
Graydon Hoare
d248d11954 Bug 470176 and bug 470173 - prevent traces from writing to imported properties, r=brendan. 2008-12-18 18:25:12 -08:00
Jeff Walden
201e000573 Bug 470133 - TM: fails to trace case with a type mismatch. r=gal 2008-12-18 10:35:09 -08:00
Brendan Eich
3abd77d8ea Bug 469927 - TM: much slower than interpreter with short loop with |let| (r=mrbkap, a=sayrer). 2008-12-18 01:31:15 -08:00
David Anderson
dbab136074 Fixed bogus assertion in a rare type-instability case (bug 470061, r=gal). 2008-12-18 03:15:09 -05:00
Andreas Gal
589fb9eb38 Merge. 2008-12-17 23:09:55 -08:00
Andreas Gal
3af573343f Backed out changeset 95b210c2fc92 preemptively. Seems to crash the browser. 2008-12-17 23:09:26 -08:00
Andreas Gal
2dffadf0fb Merge. 2008-12-17 22:54:02 -08:00
Andreas Gal
62f0547add Trace apply/call using an imacro (465214, r=brendan). 2008-12-17 22:53:35 -08:00
Graydon Hoare
3477355ddd Bug 465443, bail off trace when readonly properties are written, r=brendan. 2008-12-17 20:50:05 -08:00
Brendan Eich
bbd3fdab2a Bug 469927 - TM: much slower than interpreter with short loop with |let| (r=mrbkap). 2008-12-17 12:34:06 -08:00
Brendan Eich
56658da21f Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal). 2008-12-16 19:03:42 -08:00
Blake Kaplan
c3dc1ab151 Bug 469761 - Protect against apply on a non-function. r=gal 2008-12-16 15:09:05 -08:00
Andreas Gal
7ba58d96a8 Backed out changeset 5f64a0d18e53 2008-12-12 17:04:32 -08:00
Andreas Gal
f7da8821da Branch-exit and attach traces on shape mismatches (r=danderson). 2008-12-12 14:26:55 -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
Jeff Walden
6afac16038 Bug 465255 - Rewrite TraceRecorder::cmp, take five. (Three, sir!) Three! r=gal 2008-12-08 21:11:56 -08:00
Graydon Hoare
37cfe58e72 Bug 468484 - Rename avmplus::AvmConfiguration, adjust sites of use, r=gal. 2008-12-10 17:19:40 -08:00
Rick Reitmaier
a70c5b7d48 Bug 468484 - LirBuffer has been modified to provide advance warning of out of memory (OOM) conditions, r=danderson.
LirBuffer has been modified to provide advance warning of
out of memory (OOM) conditions.

A new page is allocated LIR_BUF_THRESHOLD instructions
prior to reaching the end of page.  If the page allocation fails,
call to outOmem() will return true.  The buffer can still be
safely written to during during this period but it is assumed
the higher level code will catch this condition and handle
it appropriately as writing LIR_BUF_THRESHOLD instructions
past this point will cause a crash.

This opportunity was also taken to re-factor the code for
LirBufWriter making it more platform agnostic.
- All non-LInsp data in the instruction stream is now managed
  through structures that overlay the memory region.
- prepFor() was added to replace the multiple
  ensureReferenceable() calls for each instruction.
- insCall() was also modified somewhat in that the
  arguments are now stored growing downwards from
  the position of the pseudo instruction LirCallIns.

CodegenLIR now has LirBuffer checks at the granularity
of each emitXXX() call that is exposed publicly.  This seemed
like a reasonable approach since a client could potentially
call at this level indefinitely.  If we want to reduce the frequency
of these checks then we'd have to push the check up into the
verifier.

Assembler OOM handling has also changed.  The variable
_startingIns was added and contains the location at which
the assembler began writing code for the current
begin/assem/end sequence.   If an OOM condition occurs
the assembler will reset the current instruction pointer
to _startingIns, effectively overwriting the code that has
been generated.  This allows the assembler to produce
code indefinitely (and without error) until the upper layers
have noticed the error and respond accordingly.

The constant LARGEST_UNDERRUN_PROT was added
and needs to be set to a platform specific value that is
equal to or greater than the number of NIns written for
the largest possible instruction.  i.e.  you cannot write
more than this number of NIns to the buffer for each
call to underrunProtect().
2008-11-14 12:46:35 -08:00
Jason Orendorff
b7fb9bc849 Bug 460865 - Read barrier for cx->fp. r=mrbkap, r=dmandelin.
--HG--
extra : rebase_source : 19963188b2f9f96336ce6ca28dbaefccf3a639b7
2008-12-09 10:38:32 -06:00
Jeff Walden
e48c310d01 Dangit, why do the tests run correctly locally in small batches? Backing out bug 465255... 2008-12-08 22:19:54 -08:00
Jeff Walden
f143157358 Bug 465255 - Rewrite TraceRecorder::cmp, take two. r=gal 2008-12-08 21:11:56 -08:00
Andreas Gal
e346e5cf60 Eliminate mergeCount from fragments since its unused (468391, r=danderson). 2008-12-07 19:13:50 -08:00
Jeff Walden
77eeb36575 Back out bug 465255, seems I was wrong about the compile error and warning being the only bugs. 2008-12-05 19:51:35 -08:00
Jeff Walden
f9e63195f3 Followup fix for a typing bug (why wasn't I seeing errors with g++?) and a goto-past-initialization (which I also think should have been caught by g++). r=bustage 2008-12-05 18:14:50 -08:00
Jeff Walden
6cb6d5d43b Bug 465255 - Rewrite TraceRecorder::cmp. r=gal 2008-12-05 16:17:59 -08:00
Andreas Gal
362036b89e Don't try to setup arguments when tracing Function.call() if we don't have at least 2 arguments (468174, r=brendan). 2008-12-05 16:05:21 -08:00
Andreas Gal
3653f3cb56 Merge. 2008-12-04 18:14:17 -08:00
Andreas Gal
e367780a2f Trace apply and call (462482, r=brendan). 2008-12-04 18:07:18 -08:00
David Anderson
9ba9c170dc Fixed assembler errors not blacklisting the loop header, resulting in senseless re-recordings (bug 467854, r=gal). 2008-12-04 16:24:55 -08:00
David Anderson
beea650730 Fixed crashing when deep aborting before a loop header (bug 467857, r=gal). 2008-12-04 16:21:30 -08:00
Andreas Gal
a5c2753bb6 Merge. 2008-12-01 16:45:16 -08:00
Andreas Gal
a78d7744c8 Guard on the JSFunction and parent pointers instead of the identity of the function object in case of shapeless calls (451974, r=brendan). 2008-12-01 16:44:22 -08:00
David Anderson
bce9294e0f Fixed resolve hooks causing recorder to crash (bug 467007, r=gal). 2008-12-01 15:08:40 -08:00
Andreas Gal
f607be887d Don't output JIT statistics if we don't ever record a trace (466942, r=danderson). 2008-11-27 00:50:24 -08:00
David Anderson
4d1da21f33 Fixed TIMEOUT_EXIT guard being in the wrong location (from bug 453157, r=gal). 2008-11-26 08:29:24 -08:00
Graydon Hoare
fb8e45ee46 Bug 454569 - post-landing style and cast fixes, sr=brendan. 2008-11-25 13:20:52 -08:00
Graydon Hoare
5a94caadef Bug 454569 - Improve accuracy of tracemonkey's oracle, r=gal. 2008-11-24 14:53:27 -08:00
David Anderson
c2f9deb2b1 Fixed regression checked in for bug 466128 (bug 466262, r=gal). 2008-11-21 22:55:03 -06:00
David Anderson
cea571a94b Fixed JSOP_NEG not checking overflow at recording time (bug 465688, r=gal). 2008-11-21 17:17:34 -08:00
David Anderson
56fbffe8c4 Allow recorders to trash multiple trees on the way out (bug 466128, r=gal). 2008-11-21 15:31:59 -08:00
David Anderson
37d2933b13 Fixed double-free of treeInfo in a type instability edge case (bug 465686, r=gal). 2008-11-20 17:20:16 -06:00
David Anderson
6c91afa7b7 Fix CALLPROP not guarding that the callee is not NULL (bug 465580, r=gal). 2008-11-19 16:08:41 -08:00
David Anderson
63c268384c Fixed unsafe coercion of JSVAL_VOID to string on trace entry (bug 465483, r=brendan). 2008-11-18 19:48:02 -06:00
Vladimir Vukicevic
7a34f9500d Merge mozilla-central into tracemonkey 2008-11-18 13:54:21 -08:00
Brendan Eich
83c020dce3 Bug 465220 - nested imacro abort not cleanly handled (botches assertions) (r=mrbkap, a=beltzner). 2008-11-17 16:56:01 -08:00
Brendan Eich
37c40ca7c0 Merge. 2008-11-17 16:29:40 -08:00
Igor Bukanov
a76c374322 bug 464334 - removal of no longer applicable asserts that sp <= static spdepth. r=brendan a1.9.1b2=beltzner 2008-11-17 13:48:57 +01:00
Andreas Gal
27b72971da Removed bogus assert when stringifying objects (465209, r=brendan, a=mconnor). 2008-11-17 01:12:18 -08:00
Andreas Gal
f7ca65fe0f Don't demote multiplication, even if result is demoted and inputs are demotable (465308, r=danderson). 2008-11-17 01:39:49 -08:00
Andreas Gal
36cc27f654 Make sure to flush the JIT cache after a gc even if we didn't import globals (464418, r=brendan, 2nd attempt to push). 2008-11-17 01:20:54 -08:00
David Anderson
442b376986 Fixed regression from recent constant folding patch (bug 465272, r=gal). 2008-11-16 22:52:15 -08:00
Andreas Gal
a9d9eff7ee Merge. 2008-11-16 22:13:37 -08:00
Andreas Gal
3c5889df4e Fix tracing of JSOP_IN (465241, r=danderson). 2008-11-16 22:13:13 -08:00
David Anderson
a653ef6015 Fixed branch traces being erroneously marked as dependent trees (bug 464979, r=gal). 2008-11-16 21:58:35 -08:00
Andreas Gal
0218a2502b Merge. 2008-11-16 20:22:52 -08:00
Andreas Gal
b1e33fe0ff JIT affects truthiness of "" <= null (465234, r=Waldo). 2008-11-16 20:22:01 -08:00
David Anderson
6f0cd7b8ba Constant fold additions to avoid erroneous isPromoteInt detection (bug 465249, r=gal). 2008-11-16 20:14:27 -08:00
Jeff Walden
7c2bb3cab6 Bug 465137 - TM: JIT thinks !NaN is false. r=gal 2008-11-16 18:28:51 -08:00
Andreas Gal
78fbb9e673 Merge. 2008-11-16 13:53:02 -08:00
Andreas Gal
012365500f Removed bogus assert when stringifying objects (465209, r=brendan). 2008-11-16 13:51:29 -08:00
David Anderson
db46b11fa1 Fixed recorders already deeply aborted being pushed onto the deep abort stack (bug 465145, r=gal). 2008-11-16 02:34:51 -06:00
Brendan Eich
93a63ea9b2 Avoid bogus assertbotch (more work needed to reconstruct imacro stack depth). 2008-11-15 23:56:49 -08:00
Andreas Gal
4da6188c80 Implement ordered comparison for objects (465133, r=brendan). 2008-11-15 23:19:46 -08:00
David Anderson
321ce0dc05 Deep abort recorders outer recorders if we need to flush the JIT cache early (bug 463829, r=brendan,gal). 2008-11-15 18:54:24 -06:00
Brendan Eich
d3da4b8e87 Fast followup to pick nit in last commit. 2008-11-15 12:49:00 -08:00
Brendan Eich
eb9a67cd20 Bug 465013 - TM: General Error trying to play video on CNN (r=gal). 2008-11-15 12:41:26 -08:00
Brendan Eich
bab1f697ee Bug 464978 - TM: hang with "[] + null" (r=danderson). 2008-11-15 10:33:50 -08:00
Graydon Hoare
acc4b45377 Bug 450000 - Support script timeouts in compiled code, r=gal. 2008-11-14 16:56:00 -08:00
Jeff Walden
8e7fb5c94b Bug 464986 - Crash trying to compile a trace generated from stdin in debug build. r=danderson 2008-11-14 14:36:32 -08:00
Andreas Gal
acebe116c1 Don't flush JIT cache from within the recorder (464403, r=brendan). 2008-11-13 15:58:58 -08:00
Brendan Eich
fab08e017c Fast followup to fix for-each-in (imacros bug, r=me). 2008-11-13 00:43:00 -08:00
Brendan Eich
cb47c4cf08 Bug 456511 - (imacros) TM: Make conversion work on arbitrary JSObjects (r=gal). 2008-11-13 00:30:20 -08:00
David Anderson
30101c6443 Fixed recursion in thin loops accidentally trying to close the parent loop (bug 464089, r=gal). 2008-11-12 19:00:15 -08:00
Andreas Gal
074d900a57 Backed out changeset a40f2117bcc0 2008-11-12 17:39:48 -08:00
Brendan
0ca607d76b Add imacros to support conversion of arbitrary JSObjects (456511, r=gal). 2008-11-12 16:55:45 -08:00
Andreas Gal
d3c38eade4 Backed out changeset 313d3d61333d 2008-11-12 10:12:22 -08:00
Andreas Gal
348e1dc001 Make sure to flush the JIT cache after a gc even if we didn't import globals (464418, r=brendan). 2008-11-11 23:58:36 -08:00
timeless@mozdev.org
de4863a534 Bug 464214 warnings in jstracer
r=gal
2008-11-11 11:21:12 +01:00
Andreas Gal
55c5823950 Backed out changeset 594ec832d9a8 2008-11-07 18:19:35 -08:00
Andreas Gal
54ba19de70 Trace Function.apply and Function.call (462482, r=brendan). 2008-11-07 15:58:52 -08:00
Andreas Gal
41cc8a6bd1 Merge. 2008-11-07 15:24:16 -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
David Anderson
fa14a92fe7 Fixed multitrees assert when building failed speculated branches (bug 463490, r=gal). 2008-11-07 13:22:05 -08:00
Andreas Gal
a19551a824 Fix GC hangs when OOM during recovery pool re-allocation (463190, r=brendan). 2008-11-05 19:09:12 -08:00
Brendan Eich
7f1675516e Bug 463259 - "Assertion failure: VALUE_IS_FUNCTION(cx, fval)" (r=mrbkap). 2008-11-05 14:25:39 -08:00
Jason Orendorff
5fdc83f169 Bug 462459 - TM: Better tracer support for |new Array(...)|. r=gal. 2008-11-05 07:29:38 -06:00
Andreas Gal
0d6e29aa6c Scale down regexp native code cache to 1MB and delete cache on shutdown (r=danderson). 2008-11-04 19:11:23 -08:00
Andreas Gal
b8168d74d9 Merge. 2008-11-04 15:08:24 -08:00
Andreas Gal
cdec6ab0a7 Interpreter directly emits the this object found in the property cache for JSOP_CALLNAME, so do the same in the tracer (462989, r=mrbkap). 2008-11-04 15:07:38 -08:00
David Mandelin
c92c2000cc Bug 461050 WIP: compiling simple regexps, r=danderson,agal 2008-11-04 14:51:51 -08:00
Robert Sayre
03d49a666b Merge mozilla-central to tracemonkey. 2008-11-04 02:05:05 -05:00
David Anderson
65f7adbd31 Fixed OOM handling when starting a recorder or assembler (bug 451322, r=gal+rreitmai). 2008-11-03 16:10:20 -08:00
timeless@mozdev.org
b93635a72f Bug 454561 TM: Crash when JavaScript-Debugger is enabled [ @ jsd_lock ]
js_SynthesizeFrame needs to fill in all fields of JSInlineFrame.
r=brendan
2008-10-29 11:06:01 +01:00
Jason Orendorff
2c9b2dd1b4 Fix build breakage --with-static-checking. No bug#. 2008-10-31 11:54:48 -07:00
Andreas Gal
37b4dbe474 Don't manipulate stack during cpuid detection (fix for icc, r=danderson). 2008-10-30 17:56:27 -07:00
David Anderson
00bfbb7d80 Make sure double slots are marked as undemotable when stabilizing a tree with failed speculation (bug 462407, r=gal). 2008-10-30 15:54:22 -07:00
David Anderson
48b976a104 Don't coerce void to string when compiling inner tree calls (bug 462388, r=gal). 2008-10-30 13:48:22 -07:00
Andreas Gal
047344b36b Merge. 2008-10-30 12:32:08 -07:00
Andreas Gal
0cc2b0cfdf Fixed assert (fallout from 462265). 2008-10-30 12:31:39 -07:00
David Anderson
1f8d249207 Fixed not tracking linked peers as dependencies (bug 462282, r=gal). 2008-10-30 11:29:25 -07:00
Boris Zbarsky
d1afdda41f Bug 462184. Make INCLUDE_VERBOSE_OUTPUT actually work, and rename it to JS_JIT_SPEW. r=brendan 2008-10-29 21:56:35 -07:00
David Anderson
685543cd89 Mark any double slot in an unstable exit as undemotable (bug 462071, r=gal). 2008-10-29 17:57:14 -07:00
David Anderson
7247e3ffe4 Fixed trees stabilizing from the wrong peer fragment (bug 462240, r=gal). 2008-10-29 16:12:16 -07:00
Andreas Gal
868e7934a2 Emit JSOP_APPLY for .apply(...) similar to JSOP_EVAL for .eval(...) (462209, r=brendan). 2008-10-29 13:30:41 -07: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
7b8859883f Merge. 2008-10-28 22:41:05 -07:00
Andreas Gal
4eca106b8a Handle dslots == NULL case when reading past the actual length of an array (461974, r=danderson). 2008-10-28 22:40:10 -07:00
Jim Blandy
f83d8c9ea3 Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla.
Give SpiderMonkey its own configure script and top-level Makefile.
Adjust js/src/Makefile as appropriate for life as a stand-alone
makefile, instead of a 'make export; make libs'-style Mozilla tier
makefile.  Have the configure script accept '--with-nspr-cflags' and
'--with-nspr-libs' options for using an in-tree NSPR.  Also accept
'--with-system-nspr', '--with-nspr-prefix', and
'--with-nspr-exec-prefix' flags for using an installed NSPR.  Default
to --disable-jemalloc, assuming we don't have that part of the tree
available; have the top-level configure script pass --enable-jemalloc
as needed.

Since we no longer have an export phase to copy header files into
dist/include/js before we build the library, we need to be able to
find nanojit.h in the nanojit directory; fix references in
jsbuiltins.h and jstracer.cpp.

Give SpiderMonkey it its own copies of many of the files from ./config
and ./build.  These are all exact copies, except as follows:

. js/src/config/Makefile.in: js/src only has a subset of
  js/src/config, and thus a subset of the makefile targets.

. js/src/config/autoconf.mk.in: js/src/configure.in has its own make
  variables to set, not set by the top-level configure script, so it
  needs a custom automake.mk template.

. js/src/config/make-system-wrappers.pl: a copy from nsprpub/config,
  so that we can build without having an NSPR source tree handy.

Invoke js/src/configure from ./configure, passing the values computed
for NSPR_CFLAGS and NSPR_LIBS by the top-level configure script.

Treat js/src as a static directory of the js tier, and create a new
config/js (just a Makefile) to be the js tier's non-static directory.
Let js/src/configure generate SpiderMonkey's makefiles, not
./configure.

Generate a 'js-config' script, which clients can call to find the
CFLAGS and LIBS values necessary to compile and link against an
installed SpiderMonkey library.  Don't include the js-config script in
Macintosh packages.

Teach client.mk how to rebuild js/src/configure.

Tell Mercurial to ignore files generated by autoconf in js/src.

Further work:

. Right now, callers must define JS_THREADSAFE when #including jsapi.h.
  This is fixed in a subsequent patch.

. js/src/configure is a trimmed copy of ./configure.  It could be
  trimmed more.

--HG--
rename : build/autoconf/acoutput-fast.pl => js/src/build/autoconf/acoutput-fast.pl
rename : build/autoconf/altoptions.m4 => js/src/build/autoconf/altoptions.m4
rename : build/autoconf/config.guess => js/src/build/autoconf/config.guess
rename : build/autoconf/config.sub => js/src/build/autoconf/config.sub
rename : build/autoconf/glib.m4 => js/src/build/autoconf/glib.m4
rename : build/autoconf/install-sh => js/src/build/autoconf/install-sh
rename : build/autoconf/make-makefile => js/src/build/autoconf/make-makefile
rename : build/autoconf/match-dir.sh => js/src/build/autoconf/match-dir.sh
rename : build/autoconf/nspr.m4 => js/src/build/autoconf/nspr.m4
rename : build/autoconf/pkg.m4 => js/src/build/autoconf/pkg.m4
rename : build/autoconf/update-makefile.sh => js/src/build/autoconf/update-makefile.sh
rename : build/cygwin-wrapper => js/src/build/cygwin-wrapper
rename : build/hcc => js/src/build/hcc
rename : build/hcpp => js/src/build/hcpp
rename : build/unix/mddepend.pl => js/src/build/unix/mddepend.pl
rename : build/unix/uniq.pl => js/src/build/unix/uniq.pl
rename : config/Makefile.in => js/src/config/Makefile.in
rename : config/Moz/Milestone.pm => js/src/config/Moz/Milestone.pm
rename : config/autoconf.mk.in => js/src/config/autoconf.mk.in
rename : config/config.mk => js/src/config/config.mk
rename : config/elf-dynstr-gc.c => js/src/config/elf-dynstr-gc.c
rename : config/fastcwd.pl => js/src/config/fastcwd.pl
rename : config/gcc_hidden.h => js/src/config/gcc_hidden.h
rename : config/insure.mk => js/src/config/insure.mk
rename : nsprpub/config/make-system-wrappers.pl => js/src/config/make-system-wrappers.pl
rename : config/milestone.pl => js/src/config/milestone.pl
rename : config/milestone.txt => js/src/config/milestone.txt
rename : config/mkdepend/Makefile.in => js/src/config/mkdepend/Makefile.in
rename : config/mkdepend/cppsetup.c => js/src/config/mkdepend/cppsetup.c
rename : config/mkdepend/def.h => js/src/config/mkdepend/def.h
rename : config/mkdepend/ifparser.c => js/src/config/mkdepend/ifparser.c
rename : config/mkdepend/ifparser.h => js/src/config/mkdepend/ifparser.h
rename : config/mkdepend/imakemdep.h => js/src/config/mkdepend/imakemdep.h
rename : config/mkdepend/include.c => js/src/config/mkdepend/include.c
rename : config/mkdepend/main.c => js/src/config/mkdepend/main.c
rename : config/mkdepend/mkdepend.man => js/src/config/mkdepend/mkdepend.man
rename : config/mkdepend/parse.c => js/src/config/mkdepend/parse.c
rename : config/mkdepend/pr.c => js/src/config/mkdepend/pr.c
rename : config/nfspwd.pl => js/src/config/nfspwd.pl
rename : config/nsinstall.c => js/src/config/nsinstall.c
rename : config/nsinstall.py => js/src/config/nsinstall.py
rename : config/pathsub.c => js/src/config/pathsub.c
rename : config/pathsub.h => js/src/config/pathsub.h
rename : config/preprocessor.pl => js/src/config/preprocessor.pl
rename : config/revdepth-nt.pl => js/src/config/revdepth-nt.pl
rename : config/revdepth.pl => js/src/config/revdepth.pl
rename : config/rules.mk => js/src/config/rules.mk
rename : config/system-headers => js/src/config/system-headers
rename : config/version.mk => js/src/config/version.mk
rename : config/version_win.pl => js/src/config/version_win.pl
rename : configure.in => js/src/configure.in
2008-10-29 08:29:22 -07:00
Andreas Gal
7da6b31283 Handle dslots == NULL case when reading past the actual length of an array (461974, r=danderson). 2008-10-28 22:40:10 -07:00
David Anderson
55c302718d Fixed false-positive integer demotions on non-number types (bug 461945, r=gal) 2008-10-28 16:33:01 -07:00
Andreas Gal
25404443ff GC no longer flushes the JIT cache. Instead just make sure the shape of the global object will mismatch next time we try to record or execute code, which in turn will force a flush of the code cache (458288, r=brendan/danderson). 2008-10-28 16:22:08 -07:00
Brendan Eich
bad1b50498 Re-land patch for bug 458851 now that latent bug it uncovered (not filed; see hg log) is fixed. 2008-10-28 14:04:29 -07:00
David Anderson
06ec3d4965 Merge. 2008-10-28 14:00:27 -07:00
Brendan Eich
e95f449f88 Fix tracing apply with wrong arguments (no bug, r=gal+dvander). 2008-10-28 13:58:20 -07:00
Jason Orendorff
5258c4d288 Bug 461723 - TM: "Assertion failure: (m != JSVAL_INT) || isInt32(*vp)" with "(0 + void 0) && 0". r=gal. 2008-10-28 11:52:38 -07:00
Jason Orendorff
37724bb378 Backed out changeset d4fe79372140 (bug 458851) due to persistent orange on TraceMonkey tinderboxes. 2008-10-28 10:49:06 -07:00
Brendan Eich
51f987553a Bug 458851 - TM: for-in loops skip every other value in certain cases (r=gal/mrbkap). 2008-10-27 22:30:52 -07:00
David Anderson
bf1a78f4fe Implemented multiple type specialized trees per entry point (bug 450833, r=gal) 2008-10-27 20:42:49 -07:00
Jason Orendorff
154b1955c7 Bug 456384 - TM: v8-richards.js benchmark opens a print dialog in browser with JIT enabled. r=brendan 2008-10-27 16:15:32 -07:00
Andreas Gal
ba12fe7023 Merge. 2008-10-25 01:04:47 -07:00
Andreas Gal
df30935a17 guardDenseArray and guardDenseArrayIndex must guard on the actual outcome, since we don't always abort trace if its not a dense array (461611, r=me). 2008-10-25 01:03:38 -07:00
David Anderson
e33e23e267 Fixed false positive demotions due to missing isPromoteInt (bug 461612, r=gal). 2008-10-25 01:50:38 -05:00
Andreas Gal
06b393e8a2 Trace reading from dense arrays out of bounds and trace undefined -> number conversion in binary ops (461611, r=brendan). 2008-10-24 21:51:04 -07:00
David Anderson
6ebb53e98e Fixed branch demotions using the branch PC rather than the root PC, causing infinite records (bug 455547, r=gal). 2008-10-24 14:01:17 -07:00
Brendan Eich
fcca844194 Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
Jason Orendorff
90796fca26 Bug 461492 - TM: INT32 can't be used as return type for traceable native that actually returns an int. r=gal. 2008-10-24 12:49:54 -05:00
David Anderson
590d3d2443 Fixed crash from JIT cache flushes when js_Interpret was holding TraceRecorders (bug 458288, r=brendan). 2008-10-24 10:47:59 -07:00
Andreas Gal
19ed8b2e9c Only track and look up LOOP_EXIT side exits in the tree info (r=danderson). 2008-10-22 22:29:51 -07:00
Andreas Gal
5b7d8ddbe0 Backed out changeset 82f5fed6d91a (Linux GCC doesn't seem to like clobbering ebx in inline assembly). 2008-10-22 19:08:28 -07:00
Andreas Gal
04b27d4cf3 Avoid pusha/popa inside assembly (icc crashes) when checking for SSE2 using cpuid (461280, r=danderson). 2008-10-22 18:55:54 -07:00
Andreas Gal
5cc94e1d59 Re-use loop exit side exit if we already have one for that PC location and the same type map (461076, r=danderson). 2008-10-22 16:27:25 -07:00
Andreas Gal
e2a6acb46a Use LIR_loop for loop edge to avoid going into a side exit handler at every loop edge (461231, r=danderson). 2008-10-22 16:00:08 -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
e1877796ba Bug 460501 - Round-trip change due to "&&" constant-folding leaving extra parens. r=brendan. 2008-10-21 13:35:22 -05:00
Vladimir Vukicevic
3164784c33 Make ARM nanojit compile again (doesn't run) 2008-10-20 11:18:30 -07:00
Jason Orendorff
e0b7bce037 Bug 459266 - TM: Allow CALLINFO macros to specify linkage. r=brendan. 2008-10-16 14:24:10 -05:00
Jason Orendorff
f8a75808ed Bug 459446 - Trace JSOP_POPV. r=brendan. 2008-10-15 15:22:05 -05:00
Andreas Gal
ea1d9c5edc Allow a single level of self-calling until we have support for recursion (459775, r=brendan). 2008-10-13 23:20:39 -07:00
Graydon Hoare
bf84bf6273 Merge tamarin-redux (nanojit2) into tracemonkey (457786, r=edwsmith,gal,danderson). 2008-10-13 13:29:18 -07:00
David Anderson
55ee8061f8 Return innermost guard from js_ExecuteTree and not outermost (r=gal). 2008-10-13 12:44:37 -07:00
Jason Orendorff
12c5730930 TM: Remove unreachable "return false" in TraceRecorder::record_JSOP_NOT. No bug, r=gal. 2008-10-13 14:10:35 -05:00
Jason Orendorff
6b88d0da8d Bug 459426 - Reunite record_JSOP_{NEW,CALL}. r=gal. 2008-10-13 11:04:26 -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
Andreas Gal
d622ee23d8 Merge. 2008-10-11 20:27:03 -07:00
Andreas Gal
798a62ad00 Stack water level is off by +1 in getTop, and JSOP_CALLPROP premature updates the tracker (459537, r=danderson). 2008-10-11 20:26:29 -07:00
Boris Zbarsky
33415ac1fb Adding some documentation 2008-10-10 12:43:30 -04:00
Jason Orendorff
232767cb27 Bug 459294 - TM: move soft float builtins next to SoftFloatFilter. r=andreas. 2008-10-10 11:31:23 -05:00
Andreas Gal
9a086f63ae Don't carry around oldpc in AbortRecording path (459321, r=danderson). 2008-10-09 16:17:13 -07:00
Andreas Gal
35de6c0d9d Merge. 2008-10-08 21:02:57 -07:00
Andreas Gal
c974289da5 Support thin loops (iteration < 2) by closing the loop even if we are on the last iteration (456431, r=danderson). 2008-10-08 21:02:04 -07:00
danderson
c56579e021 Blacklist loop if its unstable and we don't recompile it (459174, r=gal). 2008-10-08 19:58:40 -07:00
Andreas Gal
afc99f7ccc In ifop, avoid eq0(eq0(x)), instead flip guard direction and use single eq0 (459164, r=danderson). 2008-10-08 17:49:54 -07:00
Andreas Gal
471ed73a35 Evaluate cond to true if value evaluates to true in non-fused if (459159, r=danderson). 2008-10-08 17:44:04 -07:00
Andreas Gal
fb350afe17 Non-fused ifs emit different comparison code than the interpreter uses (459151, r=danderson). 2008-10-08 16:23:54 -07:00
Jason Orendorff
3204ec178a Bug 459085 - TM: Number.toString traceable native is broken (r=gal) 2008-10-08 17:19:15 -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
Andreas Gal
52f71e38dc Add missing comparison before letting the result of the conditional move flow into the guard for ordered boolean comparisons (457778, r=danderson). 2008-10-07 13:32:30 -07:00
Andreas Gal
1b0fd40e30 Trace push and pop for dense and sparse arrays (453734, r=brendan). 2008-10-07 11:00:16 -07: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
David Anderson
26d5db2cc5 Merge. 2008-10-06 16:48:14 -07:00
David Anderson
a4daa1c332 Fixed NaN handling again after backout of busted patch (bug 458472, r=gal). 2008-10-06 16:47:05 -07:00
Andreas Gal
40d1236378 Add support for writing back a boxed value when side-exiting on JSOP_RESUME (453734, r=brendan). 2008-10-06 16:22:57 -07:00
Andreas Gal
95b8fa8a84 Backed out changeset 2176f46b2702 (trying to identify cause for tinderbox burning). 2008-10-06 13:58:11 -07:00
David Anderson
c34cf06820 Fixed incorrect handling of NaN in ifop causing one new branch per iteration (bug 458472, r=gal). 2008-10-03 17:28:03 -07:00
Brendan Eich
502fb4e4c8 Bug 456831 - TM: Trace JSOP_SETLOCALPOP (r=mrbkap). 2008-10-02 15:39:25 -07:00
David Anderson
15a55dfe6d Fixed random test failures on AMD64, booleans were being loaded as 64-bit values. 2008-10-02 16:30:58 -05:00
Andreas Gal
49de341e4a Fixed more confusion of quads/numbers while emitting LIR (bug 458076, r=danderson). 2008-10-01 18:04:39 -05:00
Andreas Gal
8aa08cec2a For GETELEM/SETELEM we must check that its a native object first before trying to compare the objects shape to the shape of the global object to ensure its not aliasing the global object (457979, r=shaver). 2008-09-30 20:10:46 -07:00
Vladimir Vukicevic
f761c61b8e TM: move cmov_available setting into nj arch backends where appropriate 2008-09-30 17:15:09 -07:00
Andreas Gal
83ea7eb834 Merge. 2008-09-30 16:35:52 -07:00
David Mandelin
a9fa2e79d8 Don't trace a property access with a watchpoint (455413, r=brendan) 2008-09-30 13:34:17 -07:00
Andreas Gal
9adad6d33a Merge. 2008-09-30 13:02:53 -07:00
Andreas Gal
9c4eefd7ec Fix guarding in case of sparse array setelem (regression from 457580, r=danderson). 2008-09-30 13:02:23 -07:00
David Anderson
0804b51ac0 Fixed cmp number check logic for 64-bit environments (bug 457129, r=gal). 2008-09-30 11:45:00 -05:00
David Anderson
60ff7369b3 Fixed global object ownership change not aborting recording (bug 455173, r=gal). 2008-09-29 23:55:58 -05:00
David Anderson
75e7abcf38 Fixed crash when charCodeAt failed (with NaN) while recording (bug 457795, r=gal). 2008-09-29 23:20:34 -05:00
Brendan Eich
11db6aaf1d Always use JSBool (not bool sometimes, JSBool others) as JSVAL_IS_BOOLEAN's native slot type. 2008-09-29 22:27:43 -04:00
Andreas Gal
320dd48955 Add a resume point (JSOP_RESUME) immediately following JSOP_CALL (457789, r=mrbkap). 2008-09-29 18:49:40 -07:00
Andreas Gal
36e0e1fcbf Catch negative indexes at recording time. At runtime the builtins already check for us. Also guard for shape and setters/getters for non-dense integer index setelem case (57580, r=mrbkap). 2008-09-28 17:11:47 -07:00
Andreas Gal
5fdd5d2b67 Properly handle cmov and sse2 flags, and put them in a central place not into each platform-dependant assembler (457355, r=danderson). 2008-09-26 20:39:21 -07:00
Andreas Gal
5cc5fdedb8 Merge. 2008-09-26 19:21:27 -07:00
Andreas Gal
9960750440 Can't use JSVAL_IS_BOOLEAN on trace since boolean type contains undefined (457351, r=brendan). 2008-09-26 19:20:52 -07:00
David Anderson
ce71880114 Fixed a bug where no shape guard was emitted if a property was not found, causing it to remain unseen if added later. Abort in this case instead. (bug 457171, r=brendan) 2008-09-26 19:18:00 -07:00
Andreas Gal
884eabf3d5 Cleanup SETELEM, box early (in case we side exit on that) and don't set return value if INITELEM or followed by POP (457336, r=brendan). 2008-09-26 17:33:40 -07:00
Andreas Gal
93a292bd90 Merge. 2008-09-26 14:16:25 -07:00
igor
19701dd91b When replenishing the recovery double pool, detect if a GC happens (follow up work for 456826, r=gal). 2008-09-26 14:16:11 -07:00
Boris Zbarsky
fe2220afb1 Bug 456165 part 2. Trace Date.now. r=gal 2008-09-26 14:37:50 -04:00
Boris Zbarsky
a4b9ae6222 Bug 456370. Flush the fragment cache earlier on global shape mismatch. r=gal 2008-09-26 14:37:49 -04:00
Andreas Gal
7bb0a663e6 Use a pre-allocated pool of doubles to make sure we can safely recover in case of OOM or out of doubles (456826, r=brendan). 2008-09-25 19:11:48 -07:00
Brendan Eich
8030ce9609 Bug 457130 - TM: regexp lastIndex property not traced correctly (r=danderson). 2008-09-25 17:45:14 -07:00
David Anderson
3808521295 Workaround for intermittent js_GetClassObject failures (bug 457069, r=brendan). 2008-09-25 17:30:01 -07:00
Brendan Eich
9807c189fe Bug 457127 - TM: Crash on digg.com with adblock plus [@ ReconstructPCStack] (r=danderson). 2008-09-25 17:05:06 -07:00
Brendan Eich
f875d89fa2 Bug 456810 - TM: Crash on digg.com with adblock plus [@ ReconstructPCStack] (r=gal). 2008-09-25 15:04:48 -07:00
Brendan Eich
b7841b8cfd Fixed argc < nargs miscount in js_SynthesizeFrame and adjusted a related assertion (bug 456667, r=danderson). 2008-09-25 13:12:01 -07:00
Andreas Gal
4be7fad144 Merge. 2008-09-25 11:32:00 -07:00
Andreas Gal
5b117e1c3f Rewrite and cleanup GETELEM and SETELEM (455748, r=brendan). 2008-09-25 11:31:40 -07:00
Jason Orendorff
c35bfc3682 Bug 389034 - JS_SetProperty() ends up resolving w/o JSRESOLVE_ASSIGNING (r=brendan, sr=bzbarsky) 2008-09-25 11:13:31 -05:00
Brendan Eich
d56e0c688e Back off premature arguments tracing (453730 temporary measure). 2008-09-25 08:51:40 -07:00
Andreas Gal
97be5eae89 Merge. 2008-09-24 23:32:19 -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
Brendan Eich
3238fa4180 Bug 456931 - TM: GVAR op record methods use wrong object (r=gal). 2008-09-24 23:09:46 -07:00
Brendan Eich
86b3bc3671 Bug 456932 - TM: Don't assert that global object can't grow additional properties if none are used by any trace and we don't check for global shape mismatches (r=gal). 2008-09-24 23:05:44 -07:00
Andreas Gal
c3ae2f8027 Merge. 2008-09-24 19:33:04 -07:00
Andreas Gal
f1cdf0fd1c Make sure JSOP_DEFLOCALFUN pushes the right function object (456470, r=brendan). 2008-09-24 19:31:51 -07:00
Brendan Eich
ac41d655c4 Merge pull from mozilla-central. 2008-09-24 18:46:44 -07:00
Andreas Gal
5fdc88e6b7 Only fasttrack applys where the arguments array has the same lengths as the expected arguments of the called function (456494, r=brendan). 2008-09-24 16:45:27 -07:00
Andreas Gal
e50585b158 Merge. 2008-09-24 16:32:36 -07:00
Andreas Gal
2bc1ba7a91 The meaning of T changed in our builtin table to object-only, so we have to mark the string builtins now with S, instead of T (454682, r=brendan). 2008-09-24 16:31:07 -07:00
Brendan Eich
d0645c2e47 Bug 456875 - TM: js_SynthesizeFrame must js_GetCallObject if JSFUN_HEAVYWEIGHT (r=mrbkap). 2008-09-24 15:43:19 -07:00
Brendan Eich
536e07f808 Bug 455146 - TM: Going to NEW Facebook profile page causes crash. [ @FlushNativeStackFrame] (r=danderson,mrbkap). 2008-09-24 15:40:08 -07:00
Andreas Gal
619234db4c Back out attempt to invoke natives that return a boxed value (namely push and pop, 453734). 2008-09-24 15:18:19 -07:00
David Anderson
a53ee95a20 Fixed breaks in switch statements causing premature end-of-traces (bug 456345, r=gal,brendan). 2008-09-24 13:12:25 -07:00
David Anderson
ccd5e825b9 Fixed jstracer's operator delete leaking out into other shared libraries (bug 452721, r=gal). 2008-09-23 18:12:53 -07:00
Andreas Gal
38a8e67fa5 Merge. 2008-09-23 17:19:02 -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
Doug Turner
cf6bf884ef Bug 456458 - JS Tracer uses file-system stat structure name - WinCE compile fails. patch by dougt, r=crowder 2008-09-23 14:35:29 -07:00
David Anderson
b3141a864c Fix where recording could crash if globalObj->dslots got reallocated (bug 451137, bug 455137, r=gal). 2008-09-23 13:29:41 -07:00
Andreas Gal
9ae4f39d64 Don't demote dmod to imod since there is no case that is guaranteed to produce valid integer results for all inputs (456540, r=danderson). 2008-09-23 12:21:15 -07:00
Brendan Eich
ef1a9b029a JS_snprintf for portability, not snprintf (bustage fix). 2008-09-23 00:59:59 -07:00
Andreas Gal
b967b5aec8 Use JS_snprintf instead of snprintf which Windows doesn't seem to know about (fix build breakage). 2008-09-23 00:58:11 -07:00
Andreas Gal
5054e0003b Don't emit constant guards for switch and ifop (455605, r=danderson). 2008-09-22 17:58:25 -07:00
Andreas Gal
d85fc31e85 Both sides of a modulo have to be demotable before we can optimize using imod (456477, r=danderson). 2008-09-22 17:02:33 -07:00
David Anderson
d1bc6dc0d8 Fixed jstracer.cpp no longer building in the browser because of -pedantic. 2008-09-22 11:23:22 -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
Brendan Eich
782b633703 Fix bug 455763 (r=me). 2008-09-21 01:38:39 -07:00
Brian Crowder
d87b65397b Add a JIT stats object in the shell 2008-09-19 22:47:58 -04:00
Boris Zbarsky
4b972f730f Adding test for bug 451605 2008-09-19 21:58:00 -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
b20918f930 Dynamic reconstruction of arbitrary native frames (454402, r=danderson). 2008-09-19 16:09:18 -07:00
Andreas Gal
16fbc92e91 Backed out changeset 5e4ec981e9ea 2008-09-19 12:07:46 -07:00
Andreas Gal
f06affb8ed Allow tree to grow around unbox operations when the type of the value changes (452514, r=danderson). 2008-09-18 17:40:46 -07:00
Andreas Gal
9d7afa336a Add support for fast native that return jsval and wire up push/pop (453734, r=mrbkap). 2008-09-18 16:53:09 -07:00
Andreas Gal
9908bc1345 Merge. 2008-09-18 16:08:52 -07:00
Andreas Gal
2c406fe617 Add support for JSOP_NOT on strings (451787, r=danderson). 2008-09-18 16:04:54 -07:00
David Anderson
b895f26605 Fixed trying to record arguments past the formal arg count in JSOP_ARGSUB and JSOP_CALL (bug 455757, r=gal). 2008-09-18 15:23:22 -07:00
David Anderson
40d94b8bed Fixed -0 being treated as a promotable unsigned integer (bug 455758, r=gal). 2008-09-18 14:19:17 -07:00
Andreas Gal
708f08ca9c Properly handle side exits in scripted constructors (originally mrbkap, r=brendan, 453462). 2008-09-18 14:13:37 -07:00
Andreas Gal
f074cc7a9f Cleanup and unify comparison code (455811, r=danderson). 2008-09-18 13:31:26 -07:00
Andreas Gal
dab25898eb Don't export operator new/delete except if really needed (452721, r=danderson). 2008-09-16 13:57:59 -07:00
Andreas Gal
6de13bab44 Merge. 2008-09-16 13:24:57 -07:00
Andreas Gal
8ef12c41b5 Removed bogus assert (argv is NULL if callee is NULL, assert segfaults, 452495, r=danderson). 2008-09-16 13:24:34 -07:00
David Anderson
6dcdb6aeb9 Fixed pointer arithmetic bug during trace recording on 64-bit platforms (bug 454981, r=m_kato). 2008-09-16 10:48:54 -07:00
Andreas Gal
4f38e736a7 Backed out changeset 66a76c8c7346 2008-09-16 06:51:33 -07:00
brendan
18c4ef65df Don't forget to set RHS as result in SETPROP in case we don't call either SetPropHit or SetPropMiss (455408, r=gal). 2008-09-16 06:26:57 -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
brendan
663c6aeb04 test_property_cache_direct_slot forgot to insist on a direct slot for get ops (453249, r=gal). 2008-09-15 19:40:43 -07:00
Andreas Gal
2e60c6889f Merge. 2008-09-15 17:09:45 -07:00
Andreas Gal
13cc3eaad6 Backed out changeset 87fe68f51647 2008-09-15 17:09:25 -07:00
Andreas Gal
950247bb9d Fix JSOP_NOT (455380, r=brendan). 2008-09-15 17:08:15 -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
a580bcd185 Implement comparison of numbers against null (455293, r=brendan,danderson). 2008-09-15 15:30:06 -07:00
Andreas Gal
f369f7dcfb Whitespace nit-pick (453261, r=brendan). 2008-09-15 15:26:16 -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