Commit Graph

117 Commits

Author SHA1 Message Date
Andreas Gal
5b284aaa5a Remove unsafe RegExp.test traceable native, the generic fast native mechanism can take care of it (488703, r=jorendorff). 2009-04-16 15:34:14 -07:00
Graydon Hoare
5689ffc3f8 Bug 474529 - Avoid artificial OOM conditions, r=gal. 2009-03-31 20:51:01 -07:00
Robert Sayre
150b7d8a28 Merge tracemonkey to mozilla-central. 2009-03-24 13:49:05 -04:00
Ben Turner
b9b06ef066 Fix further windows build bustage 2009-03-19 18:01:48 -07:00
Robert Sayre
116429311e revert to changeset b59984b88601 2009-03-20 00:23:44 -04:00
Robert Sayre
f7b741972b Merge tracemonkey to mozilla-central. 2009-03-20 00:04:47 -04:00
Ben Turner
270aed708f Fix further windows build bustage 2009-03-19 18:01:48 -07:00
dmandelin@mozilla.com
e93b7d4630 Copy entire regular expression into the code buffer (483920, r=gal). 2009-03-17 19:28:14 -07:00
David Mandelin
1b820884be Bug 483821: native regexps confused because of bug in hash key comparison, r=gal 2009-03-17 17:27:54 -07:00
Jim Blandy
875aee5e88 Bug 479258: Include "jsstdint.h" for <stdint.h> type use within SpiderMonkey. r=brendan 2009-03-18 11:38:16 -07:00
David Mandelin
b151fe5042 Bug 481760: myngle.com crash due to incorrect compiled regexp end-of-string check, r=brendan 2009-03-09 11:21:03 -07:00
Brendan Eich
b6154d5863 Fix for --disable-jit (again). 2009-03-04 19:40:09 -08:00
Brendan Eich
53c9096f08 Bug 480759 - TM: trace RegExp constructors (r=gal). 2009-03-04 19:26:16 -08:00
Robert Sayre
f4c8ebe128 Merge tm to m-c. 2009-03-03 13:48:15 -05:00
Jason Orendorff
73b1ee84ed Delete unused member variable and fix style issue discovered by Waldo just below. No bug. r=Waldo. 2009-02-27 13:34:32 -06:00
Robert Sayre
695b4646c3 Merge tm to mc 2009-02-19 11:48:08 -05:00
Igor Bukanov
7ac32de806 bug 478543 - fixing warnings about casts between function and data pointers. r=brendan 2009-02-19 09:33:37 +01:00
Jim Blandy
ede7e6d142 Bug 391488: Eliminate PTRDIFF macro; delete jssttddef.h. r=jimb
Delete jsstddef.h, since its only remaining purpose is to make certain
Win16-specific definitions; we don't support Win16 any more.  In
particular, we can just subtract pointers now, so the PTRDIFF macro is
unnecessary noise.

Most places get stddef.h via jstypes.h or some other header, so we can
just delete #inclusions of jstddef.h.  The exception is jskwgen.h, so
there we explicitly include <stddef.h> instead.
2009-02-18 09:14:51 -08:00
Leon Sha<leon.sha@sun.com>
128a82a274 Bug 476042 - Integrate sparc nanojit intro tracemonkey. r=gal, r=jim. 2009-02-16 10:10:03 +08:00
Blake Kaplan
67ff39ca4e Bug 478317 - Don't jump based on uninitialized memory. r=dmandelin 2009-02-13 11:11:16 -08:00
Andreas Gal
f796bcd60a Substitute operation counting with a watchdog thread (477187, 2nd attempt, r=brendan/mrbkap/jst, sr=brendan/jst). 2009-02-10 03:45:36 -08:00
Andreas Gal
2a20c2a6de Backing out bug 477187. Breaks xpcshell. 2009-02-09 22:54:05 -08:00
Andreas Gal
cbfbbd3cac Substitute operation counting with a watchdog thread (477187, r=brendan/mrbkap/jst, sr=brendan/jst). 2009-02-09 18:20:50 -08:00
Blake Kaplan
79c0a0ed2b Bug 476940 - Report an error when a script tries to use duplicate flags on a regexp. r=brendan 2009-02-06 14:28:48 -08:00
David Mandelin
31fc461439 Bug 465656: word-at-a-time compiled regexp matching, r=gal 2009-02-06 13:41:21 -08:00
Jason Orendorff
e4c1fb1cfd Bug 462027 - Bail off trace when reentering interpreter. r=gal. 2009-02-03 18:25:12 -06:00
Jason Orendorff
4e3f2cfd40 Revert to 07be1f190a3d. Revision 5f5c1cd63641 should not have been pushed. 2009-02-03 12:38:44 -06:00
Jason Orendorff
f6ffd1d380 [mq]: bug-462027-v9 2009-02-02 20:42:46 -06:00
Vladimir Vukicevic
a9f156bfa4 b=480659; special-case 1-char match nodes for ARM jit; r=dmandelin 2009-02-27 15:37:13 -08:00
Vladimir Vukicevic
a8f8d5c9c7 b=479525; fix nanojit on Windows CE (calling conventions, disable regexp double-char optimization); r=dmandelin 2009-02-26 12:04:37 -08:00
Blake Kaplan
b30598d3ae Bug 475469 - Don't assume cx->fp is a scripted frame. r=dmandelin 2009-01-27 17:10:44 -08:00
Blake Kaplan
390a28ac59 Bug 473709 - Protect |str| across the call to js_NewRegExp. r=jwalden 2009-01-15 17:54:05 -08:00
Igor Bukanov
f0dbec109f 436700 - fixing backref assert. r=dmandelin 2009-03-20 12:30:40 +01:00
Robert Sayre
9aa7891d67 Merge m-c to tracemonkey. 2009-01-07 11:42:59 -05: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
Brian Crowder
ca4eed1e1d Bug 433073 - jsregexp.cpp should use dependent strings, r=igor 2009-01-06 09:18:35 -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
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
David Mandelin
77dfbdd679 Attempted fix for bug 470492: top crash in regexp LIR generation, r=gal 2008-12-31 11:43:50 -08:00
Igor Bukanov
5f6b121715 bug 467441 - avoiding js_(Add|Remove)Root for regexp statics. r=crowder 2008-12-18 21:06:45 +01:00
Andreas Gal
6a2d183fee Stop generating LIR when running out of memory in the regexp compiler (471924, r=danderson). 2009-01-02 15:50:56 -08:00
Boris Zbarsky
dc570eacdd Bug 466935. Make JS_JIT_SPEW non-DEBUG build again. r=dmandelin,brendan 2008-12-11 13:55:04 -05: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
Andreas Gal
bfd4fe191d Abort compilation of a regular expression if we run out of memory during recording (466588, r=danderson). 2008-11-28 17:31:17 -08:00
David Mandelin
0952a00f72 Bug 463535: compile regexps to native lazily, r=gal 2008-11-21 17:54:53 -08:00
Jim Blandy
0f68ad7ed4 (no bug) Move definition of RESideExit *exit to top of function, to avoid error from GCC about jumping across its initialization. 2008-11-21 10:46:28 -08:00
David Mandelin
cb596bbb0a Fixed bug 464866: use regexp source+flags as key to compiled code, r=gal 2008-11-20 16:37:36 -08:00
David Mandelin
98e5c71620 Fixed bug 465862: incorrect handling of 'i' flag in compiled regexps, r=gal 2008-11-20 16:34:06 -08:00
Andreas Gal
43dcf98a44 Backed out changeset 2601301b793d 2008-11-16 16:50:19 -08:00