Edwin Smith
7de6b2bc04
Bug 509890 - Convert InsList to SeqBuilder<> and Allocator, r=gal.
...
--HG--
extra : rebase_source : 22303e739a0a6669c634595149028872aa7bd334
2009-08-04 13:11:53 -04:00
Edwin Smith
1913010941
Bug 509818 - Replace StringList with SeqBuilder<char*>, use Allocator, r=dvander.
2009-08-04 09:54:47 -04:00
David Anderson
3ae21db572
Fixed regex LIR to be x64 compliant (bug 514548, r=lw).
2009-09-09 15:53:26 -07:00
Andreas Gal
6771d193dd
Introduce a register fence instruction to force all registers to be spilled (514374, r=edwsmith,rreitmai).
2009-09-03 14:43:30 -07:00
Luke Wagner
5c14309cd1
Bug 511750 - factor template utilities into js::tl (r=brendan)
...
--HG--
extra : rebase_source : a5a396811268e71af8e56c66dab491f3081bc20a
2009-09-01 18:46:19 -07:00
Andreas Gal
447939882c
Load state after spilling or we might clobber a callee-saved register (513878, r=dvander).
2009-09-01 15:30:19 -07:00
Andreas Gal
317b5f2e3a
Remove explicitSavedRegs and loop hacks from nanojit (513139, r=dvander).
2009-08-27 18:46:45 -07:00
Jason Orendorff
dafc9b5d2a
Bug 508685 - Remove last parameter of defineProperty op. r=brendan.
2009-08-26 14:28:36 -07:00
Luke Wagner
7470eaa57b
Bug 503952 - JSStringBuffer/JSCharBuffer with JSTempVector, part 1. r=jwalden
2009-08-07 20:09:11 -07:00
Graydon Hoare
b8154cc364
Bug 504462 - Merge tamarin's CodeAlloc into tracemonkey, r=gal.
2009-07-15 16:50:01 -07:00
Igor Bukanov
2e4416c672
bug 493457 - followup - fixing a typo in the patch.
2009-08-05 16:14:24 +02:00
Igor Bukanov
ef90f6f522
bug 493457 - uniform access to private slots. r=mrbkap, sr=jwalden
2009-08-04 23:06:55 +02:00
Graydon Hoare
2e92fcbbe3
Backed out changeset d0be9284ea67
2009-07-30 14:28:26 -07:00
Graydon Hoare
caf3859643
Bug 504462 - Merge tamarin's CodeAlloc into tracemonkey, r=gal.
2009-07-15 16:50:01 -07:00
Andreas Gal
e7f2714ea1
When finalizing, deallocate memory in a separate thread (505612, r=bent,brendan,waldo).
2009-07-27 21:10:12 -07:00
David Mandelin
cfb0d1fd1b
Bug 506821: clean up trailing whitespace, r=brendan
2009-07-27 18:40:12 -07:00
Leon Sha
de4d2d6b24
Bug 506201 - regexp.cpp fails to compile on opensolaris: goto bypasses variable init. r=gal
2009-07-27 11:30:57 +08:00
Robert Sayre
9e0ade7287
Backed out changeset b3d459d23452
2009-07-24 00:01:37 -04:00
Andreas Gal
eb711234db
Use a background thread to free() memory while sweeping (505612, r=brendan,bent).
2009-07-23 15:12:34 -07:00
Nicholas Nethercote
a8cd3ba765
Bug 504705 - TM/nanojit: use NULL as the condition for unconditional guards (2nd attempt). r=gal.
2009-07-22 14:54:41 +10:00
Luke Wagner
dbe10c51be
Bug 505400: restore fullness check for regexp character set, r=dmandelin,gal
2009-07-21 15:19:40 -07:00
Andreas Gal
83790e006a
Merge.
2009-07-20 14:06:39 -07:00
Andreas Gal
cb9a549160
Backed out changeset 692e8a1325f8 (bug 504705). Crashes with TMFLAGS=full on browser startup.
2009-07-20 13:58:00 -07:00
wes@page.ca
dc3efedd7d
Bug 504647 - JITted regular expressions crash SPARC Nanojit. r=dmandelin
2009-07-20 14:11:12 +08:00
Nicholas Nethercote
dabda589bf
Bug 504705 - TM/nanojit: use NULL as the condition for unconditional guards. r=gal.
2009-07-17 11:14:01 +10:00
Luke Wagner
0c16520e8b
Bug 406271: add quantifier support for regexp->native compiler, r=dmandelin
2009-07-16 17:17:35 -07:00
Brendan Eich
221bd1197a
Bug 503406 - TM: Trace calling a user-attached function to RegExp (r=mrbkap).
2009-07-15 17:48:22 -07:00
Andreas Gal
1af8dfb112
Avoid integer division in NewGCThing path (503157, r=jwalden).
2009-07-14 17:06:09 -07:00
David Mandelin
a10caff6bb
Bug 502789: correct regexp->native compiler of handling case-insensitive matching of characters with multiple lower-case forms, r=lw
2009-07-13 12:41:30 -07:00
Brendan Eich
93c0af174f
Pick nits including warning provoker in jsregexp.cpp from bugs 463535 and 453730.
2009-07-09 15:18:08 -04:00
Nicholas Nethercote
ab0511054e
Bug 502539: move displacements into load instructions. r=gal,edwsmith.
2009-07-07 09:26:12 +10:00
David Mandelin
fd4086beac
Bug 502058: blacklist regexps for native compilation more efficiently and reliably, r=gal
2009-07-06 13:21:32 -07:00
David Mandelin
4af7401ebd
Bug 500621: make regexp lirbuf setup work the same as tracing lirbuf to avoid mem leak, r=dvander
2009-06-29 17:04:35 -07:00
Julian Seward
b96eed42da
Bug 494864 - Make nanojit debug output easier to follow, r=graydon.
2009-06-24 20:32:00 -07:00
Jason Orendorff
52fe5a97ba
Bug 497618 - Change JSString macros to methods. r=Waldo.
2009-06-10 20:29:44 -05:00
Nicholas Nethercote
1a33faa263
Bug 492301 - nanojit: remove some dead code. r=edwsmith
2009-05-18 01:45:46 -04:00
Nicholas Nethercote
9df38f0476
Bug 488775 - TM: widen LIR instructions. r=graydon,edwsmith
2009-05-09 14:38:34 -04:00
Igor Bukanov
3597961095
bug 491013 - fixing shared setter regression and eliminating several useless anonymous prototype objects. r=brendan
2009-05-06 20:33:10 -02:30
jorendorff
93c6d226d3
Record all calls to native functions (487134, r=gal, brendan).
2009-05-05 14:26:06 -07:00
Andreas Gal
fe1ed6adb9
Backed out changeset 6534f8b9aa74 (bug 491013, assert on startup).
2009-05-04 15:07:53 -07:00
Igor Bukanov
d77b8664fb
bug 491013 - fixing shared setter regression and eliminating several useless anonymous prototype objects. r=brendan
2009-05-03 20:43:55 -04:00
Andreas Gal
a51f22dbdf
Need an API exposed to control code cache size (474497, r=bent,brendan, sr=mrbkap).
2009-04-22 16:52:59 -07:00
Robert Sayre
dc86a73387
Merge mozilla-central to tracemonkey.
2009-04-17 21:35:32 -04:00
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
Ben Newman
17a2ceeaca
Bug 484107 - XPCSafeJSObjectWrapper allows regexp variables to be clobbered. r=mrbkap+sr=brendan
2009-04-14 19:32:17 -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
Andreas Gal
cd3869dd9c
Use regexp string as key for the regexp fragment cache (464866, r=brendan).
2008-11-16 15:17:16 -08:00
Andreas Gal
8d8bb6d3bc
Compile native code for regexp first and don't shrink bytecode (464867, r=dmandelin).
2008-11-13 22:41:33 -08:00
David Mandelin
309949e188
Bug 463803: win32 crash in w/ regex compiler, r=gal
2008-11-13 16:56:24 -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 Mandelin
5d10ab6833
Bug 463789: regression suite stack oflow on windows with regex compiler, r=gal
2008-11-12 17:55:56 -08:00
Andreas Gal
074d900a57
Backed out changeset a40f2117bcc0
2008-11-12 17:39:48 -08:00