Graydon Hoare
503c025d90
Bug 511309 - Delete class Fragmento and all uses of it, r=dvander.
...
--HG--
extra : rebase_source : 47047589288ac0758e0068307b5a8f393db97606
2009-08-20 17:22:47 -07:00
Graydon Hoare
ebe9c3f20b
Bug 511237 - Remove primary use of Fragmento from jsregexp, r=dmandelin.
2009-08-18 15:32:54 -07:00
Robert Sayre
9cc65226f2
Backed out changeset 5817b38a8686
2009-08-19 15:30:06 -04:00
Igor Bukanov
a8f8431b74
bug 509143 - js_CloneRegExp is missing a call to js_SetLastIndex. r=mrbkap
2009-08-19 19:53:51 +03:00
Edwin Smith
fa572124fd
Bug 510116 - Remove dead code paths and arguments in nanojit::compile, r=gal.
2009-08-05 15:06:00 -04:00
Edwin Smith
ad06720f03
Bug 510078 - Convert LirNameMap to HashMap<> and Allocator, r=gal.
...
* * *
Don't allocate CodeAlloc with GC and dont extend GCFinalizedObject (bug 506390 r=tharwood+)
* Change PageMgr::CodeAlloc from pointer to embedded instance.
* Assembler takes CodeAlloc& now, like it already does for Allocator&
* PoolObject.cpp|h now use VMCFG_NANOJIT instead of (deprecated) FEATURE_NANOJIT
(both #defines are equivalent)
--HG--
extra : rebase_source : 90847a654d7f669a4c2ac364dd9aae7be38cae77
2009-08-04 14:18:38 -04:00
Edwin Smith
3967b233d5
Bug 510036 - Convert LabelMap to HashMap<> and Allocator, r=gal.
...
--HG--
extra : rebase_source : 4f1385922085fe086084c418aa22dcc4cc4c1961
2009-08-04 13:56:48 -04:00
Graydon Hoare
7bddd2c62f
Bug 510015: TM: more Allocator merge fallout in jsregexp.cpp, r=gal.
...
--HG--
extra : rebase_source : 7607da6f49cc355af49b73528c826d5888291eb9
2009-08-12 12:26:17 -07:00
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