Commit Graph

22456 Commits

Author SHA1 Message Date
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
Edwin Smith
d1925631b4 Bug 468484 - trivial cleanups to simplify armjit merge (r=me), r=danderson. 2008-11-13 12:52:26 -05:00
Leon Sha<leon.sha@sun.com>
314e79c76f Bug 468484 - Bug 463182 - Can not build tamarin-redux on solaris with Sun compiler. stejohns: review+, r=gal. 2008-11-06 13:37:37 +08:00
Edwin Smith
774d38113c Bug 468484 - Fix cascading register spilling bug 462522 (r=rreitmai+), r=danderson. 2008-10-31 15:56:02 -04:00
Jason Orendorff
413e752410 Bug 453564 - TM: Assertion failure: JSVAL_IS_NULL(vp[0]) || (!JSVAL_IS_PRIMITIVE(vp[0]) && OBJ_IS_ARRAY(cx, JSVAL_TO_OBJECT(vp[0]))). r=gal.
--HG--
extra : rebase_source : be08d1a4ca8a3765523b992a5d4e469e67ba8811
2008-12-09 11:43:32 -06:00
Edwin Smith
903336fe43 Bug 468484 - Fixed bug causing too much spilling, other arm tweaks, r=danderson. 2008-10-28 15:16:05 -04:00
Edwin Smith
795ab907f0 Bug 468484 - fix boundary bug injected by CallInfo change, r=gal. 2008-10-22 15:18:41 -04:00
Steven Johnson
4dfea32fd4 Bug 468484 - redid nMarkExecute() to fix the bug. Now it always does exactly one page, r=gal. 2008-10-21 18:34:10 -07:00
Graydon Hoare
a6428d33c2 Bug 468484 - Re-insert asm-counting code lost in previous redux-tracemonkey merge, r=gal. 2008-12-09 11:53:26 -08:00
Jason Orendorff
3ee94374a6 Fix bug in previous patch. 2008-12-09 12:15:30 -06: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
Edwin Smith
4ab0561335 Bug 468484 - make asm_output[123] varadic, and add some LIR instruction comments, r=gal. 2008-10-21 14:53:14 -04:00
Steven Johnson
fbc6fd0ad9 Bug 468484 - internal tamarin-redux merge (mostly formatting), r=gal. 2008-10-20 15:52:11 -07:00
Steven Johnson
13f8b6629c Bug 468484 - Macro-ize calls to new/delete to account for MMgc interactions, r=gal. 2008-10-20 15:51:13 -07:00
Graydon Hoare
0fc5a42ca4 Bug 468484 - Change Fragmento's fragment map from a pointer to a member, r=gal. 2008-12-08 15:23:41 -08:00
Jason Orendorff
0dd84fd05d Bug 463746 - js/tests/jsDriver.pl: eliminate CPAN dependency. r=bclary.
--HG--
extra : rebase_source : bc1c1b24aad5cc2164b6da13c719e06a1c1e612f
2008-12-05 17:40:28 -06:00
Andreas Gal
e346e5cf60 Eliminate mergeCount from fragments since its unused (468391, r=danderson). 2008-12-07 19:13:50 -08:00
Robert Sayre
685eced553 Merge m-c to tracemonkey. 2008-12-06 00:54:08 -08:00
Chris Double
f1f41990e3 Backout bug 464376 due to test failure 2008-12-06 19:53:43 +13:00
Chris Double
cb0b0c4a77 Backed out changeset 34f6eb1300f1 due to test failure 2008-12-06 19:53:23 +13:00
Chris Double
857702a43f Backout bug 464376 due to test failure 2008-12-06 19:52:58 +13:00
Chris Double
f385f4c777 Backed out changeset 3e3feb158fad due to test failure 2008-12-06 19:52:38 +13:00
Chris Double
7aeefc3d66 Backout Bug 464376 due to test failure 2008-12-06 19:52:12 +13:00
Chris Double
9a551cb6c5 Backed out changeset 1b5995ee5192 due to test failure 2008-12-06 19:51:40 +13:00
Karl Tomlinson
9e12823302 reftests/font-face/sheet-set-base-1 is random, b=468217 2008-12-06 19:23:16 +13:00
Chris Double
2961450871 Bug 464376 - Missing .wav test file 2008-12-06 18:36:42 +13:00
Chris Double
1bf5aad4a4 bug 464376 - Missing test files to fix build bustage 2008-12-06 18:30:49 +13:00
Chris Double
b094bb85bd bug 464376 - Fire media progress events as needed - r+sr=roc 2008-12-06 18:25:16 +13:00
Karl Tomlinson
f88fbd52e6 b=462798 fixage: add NS_VISIBILITY_DEFAULT to cairo_ft_font_options_substitute declaration 2008-12-06 18:06:42 +13: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
Andreas Gal
173caec5ba Merge. 2008-12-05 18:16:04 -08:00
Andreas Gal
d7a200c5a8 Inherit context options from parent context when using evalcx in the shell (r=brendan, no bug). 2008-12-05 18:15:04 -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
Karl Tomlinson
f483d9cdde b=462798 don't pass cairo_font_options_t* between system and moz cairo. r=vlad 2008-12-06 12:24:49 +13:00
Karl Tomlinson
f091bb1b37 b=458169 @font-face { src: url() } for Linux. r=roc 2008-12-06 12:19:27 +13:00
Karl Tomlinson
d6b71782c0 b=467874 only destroy FT_Faces created by cairo. r=vlad 2008-12-06 12:08:45 +13:00
Justin Wood
040805780c Bug 467206, Correctly remove the load listener in mochibrowser: browser_bug441778.js
r=gavin
2008-12-05 23:04:18 -05:00
Justin Wood
0a12c9f85c Bug 467050, add config.mk to the GLOBAL_DEPS list as well
r=ted
2008-12-05 23:04:01 -05:00
Neil Rashbrook
84fcb0c547 Bug 468002 Really make windbgdlg a Unicode application r=blassey sr=bsmedberg 2008-12-05 21:30:17 +00:00
Peter Weilbacher
6720b667a1 [OS/2] Bug 460247: move the OS/2 README.txt files out of the locale directories (mozilla-central part), r=ted
--HG--
rename : browser/locales/en-US/os2/README.txt => widget/src/os2/README.firefox
2008-12-05 22:11:22 +01:00
Patrick McManus
36e0dca600 Bug 464838: Tweak DNS prefetch to hopefully fix a tp3 regression. r+sr=bz 2008-12-05 12:53:24 -08:00
Daniel Holbert
e4ad029acb Merge after backing out 78d662c2c878 2008-12-05 11:52:54 -08:00
Daniel Holbert
03c259e522 Backed out changeset 78d662c2c878 (Bug 335531) on suspicion of causing mochitest failures in test_bug399284.html on linux & windows unittest boxes. 2008-12-05 11:52:01 -08:00
Jim Blandy
5b66e4af69 Bug 463648: Pass absolute path to js/src/configure --with-sync-build-files. r=bsmedberg 2008-12-05 11:05:37 -08:00
Serge Gautherie
3ed260799b Merge for "Backed out changeset: d98cdb0cdd15" for
Bug 440614 - text entry field unable to take focus; r=(bzbarsky + jst + peterv) sr=peterv
which causes bug439965.html to fail
2008-12-05 19:29:13 +01:00
Serge Gautherie
d6255d3171 Backed out changeset: d98cdb0cdd15 2008-12-05 19:26:52 +01:00