Граф коммитов

73438 Коммитов

Автор SHA1 Сообщение Дата
pschwartau%netscape.com 52aa420b05 Replaced hard-coded TZ_DIFF = -8 with a dynamically-calculated value 2000-12-05 01:47:15 +00:00
sspitzer%netscape.com b207dcd2e3 fix for #32249. make newsgroups threaded by default. sr=bienvenu 2000-12-05 01:25:21 +00:00
sspitzer%netscape.com c6c1da1db7 fix for #61857. better status text when downloading the list of newsgroups
from the server.  sr=bienvenu.
2000-12-05 01:17:22 +00:00
sspitzer%netscape.com 9cdea2ca96 fix for #60945 and #51274. make the subscribe dialog wider by default,
and make the size and position persist.  sr=bienvenu
2000-12-05 01:15:54 +00:00
mcgreer%netscape.com 7db461e1b8 uninit'ed var causes problem on some platforms 2000-12-05 01:13:24 +00:00
disttsc%bart.nl c4ca6be138 Add shift-ctrl-R for non-cache reload shortcut. bug=61330, r=blake, a=alecf 2000-12-05 00:33:29 +00:00
pinkerton%netscape.com f104113382 add forms.css to packages for hyatt. 2000-12-04 23:40:03 +00:00
jeff.dyer%compilercompany.com d6b97f2277 Fixed type bugs and header comments. 2000-12-04 18:47:28 +00:00
mkaply%us.ibm.com 3187041be5 Clipboard regression fix from jkobal - r=mkaply 2000-12-04 15:27:04 +00:00
disttsc%bart.nl a19269cd0e Temporarily hide leaks (hopefully). Bug 61886, r=dbaron, a=ben 2000-12-04 07:48:40 +00:00
leaf%mozilla.org 6b64d23eee Automated update 2000-12-04 05:30:10 +00:00
brendan%mozilla.org a1bd57c2fe Checking in cls's latest patch to help my jslock.[ch] code on ultrasparc/gcc. 2000-12-04 05:27:41 +00:00
brendan%mozilla.org 5f161e7819 A bit over-aggressive with that static keyword last time... 2000-12-04 04:34:18 +00:00
leaf%mozilla.org 380df5fae1 Automated update 2000-12-04 04:15:08 +00:00
brendan%mozilla.org ed8e7197af cls's build-bustage patch to define ULTRA_SPARC independent of whether gcc is used on Sun systems. 2000-12-04 04:06:57 +00:00
brendan%mozilla.org b4b7a14cc7 Fix NSPR_LOCK ifdefs (for JS_NO_THIN_LOCKS mode, enabled due to a configure.in bug on gcc/sparc5 systems). Fixes speedracer build bustage. 2000-12-04 04:02:27 +00:00
brendan%mozilla.org 0e3fd5e8ba All this r=mccabe, r=beard, and sr=jband -- many thanks to all who helped,
especially to jband for his great stress-test setup and particularly helpful
(in terms of reproducing bugs in draft patches) MP and laptop machines.

- Radical(*) object (scope) locking optimization: don't lock if a scope is
  accessed on the context that exclusively owns it (initially, the context
  on which the scope was created).  Once a scope becomes shared among more
  than one owner-context, give it the usual thin or fat lock, per existing
  jslock.c code.

  I did this at the memory cost of another word per JSScope, ownercx, which
  raised scope size from 12 to 13 words if !DEBUG.  I also added a linked
  list head pointer, rt->scopeSharingTodo, and a scopeSharingDone condition
  variable to JSRuntime, and a scopeToShare pointer to JSContext that's
  necessary for deadlock avoidance.

  The rt->scopeSharingTodo list links JSScopes through the scope->u.link
  union arm, which overlays the pre-existing scope->count (now u.count)
  member.  This list holds scopes still exclusively owned by a context, but
  wanted by js_LockScope calls active on other threads.  Those calls wait
  on the rt->scopeSharingDone condition, which is notified every time an
  owner-context ends the request running on it, in which code active on
  that context may be using scope freely until end of request.

  The code that waits on rt->scopeSharingDone must first suspend any and
  all requests active on the calling context, and resume those contexts
  after the wait is notified.  This means a GC could happen while the
  thread locking a scope owned by another thread's context blocks; all
  calls to JS_LOCK_OBJ must therefore first home fp->sp above any live
  operands, e.g.  The interpreter takes care to do that already.

  To avoid AB-BA deadlocks, if a js_LockScope attempt on one context finds
  that the owner-context of the scope is already waiting on a scope owned
  by the current context (or indirectly depending on such a scope lock),
  the attempt converts the scope from lock-free exclusive ownership to
  shared ownership (thin or fat lock).

- Fix js_SetupLocks and the js_LockGlobal/js_UnlockGlobal code to avoid
  divmod instruction costs, strength-reducing to bit-mask instructions.

- The radical lock-free scope change required care in handling the 0=>1
  and 1=>0 transitions of cx->requestDepth, which was till now thread-local
  because part of the JSContext not manipulated by other threads.  It's
  still updated only by cx's thread, but it is read by other threads in
  the course of attempting to claim exclusive ownership of a scope for more
  lock-free JS object operations.

- The JS_SuspendRequest and JS_ResumeRequest APIs have changed incompatibly
  to require their caller to save and restore the requestCount found when
  JS_SuspendRequest is called.  This is necessary to avoid deadlock; sorry
  for the incompatible change.

- Fixed various nits in jslock.[ch], including using Init/Finish rather
  than New/Destroy for the methods that take a JSThinLock and initialize
  and finish/free its members.  Another example: JS_ATOMIC_ADDREF is now
  JS_ATOMIC_INCREMENT and JS_ATOMIC_DECREMENT, so the two cases can be
  mapped to PR_AtomicIncrement and PR_AtomicDecrement.  This entailed
  changing jsrefcount from jsword to int32 (PRInt32).

- No need to use JS_ATOMIC_INCREMENT on JSScopeProperty.nrefs, as it is
  always and everywhere protected by the property's JSScope.lock.

- Cleaned up gratuitous casts in jscntxt.c by using &cx->links, etc.

- The lock used for mutual exclusion around both request begin and end vs.
  GC synchronization is rt->gcLock, and this lock now also protects all
  scope->ownercx pointer changes from non-null (exclusive) to null (shared),
  the rt->scopeSharingTodo/scope->u.link list operations, and of course the
  rt->scopeSharingDone condition.

  But this means that js_GC cannot hold rt->gcLock across the bulk of its
  body, in particular the mark phase, during which JS_GetPrivate calls,
  e.g., may need to "promote" scope locks from lock-free to thin or fat,
  because doing so would double-trip.  There never was any good reason to
  hold rt->gcLock so long, of course -- locks are for mutual exclusion, not
  for waiting or notifying a thread -- those operations require a condition,
  rt->gcDone, which we already use along with rt->gcLevel to keep racing GC
  attempts at bay.

  So now that rt->gcLock does not protect the mark phase, the enumeration
  of rt->gcRootsHash can race badly with JS_RemoveRootRT, an API that may
  legitimately be called outside of a request, without even a context.  It
  turns out that people may be cheating on the request model even with
  JS_AddRoot, JS_AddNamedRoot, and JS_RemoveRoot calls, so we must make
  all of those interlock with the GC using gcLevel and gcDone, unless they
  are called on the gcThread.

  Also, since bug 49816 was fixed, there has been no need for a separate
  finalize phase, or for rt->gcFinalVec.  Finalizers can no longer allocate
  newborn GC-things that might be swept (because unmarked), or double-trip
  on rt->gcLock (which is no longer held).  So js_GC finalizes as it sweeps,
  just as it did in days of old.

- I added comments to jslock.h making it plain that callers of JS_LOCK_OBJ
  and JS_UNLOCK_OBJ must either be implementations of js_ObjectOps hooks,
  or code reachable only from those hooks; or else must be predicated on
  OBJ_IS_NATIVE tests.  It turns out jsinterp.c's CACHED_GET and CACHED_SET
  macros neglected to do such tests, limiting the ability of JS embeddings
  to implement JSObjectOps with their own non-JSScope JSObjectMap subclass.
  Fixed, small performance hit that the lock-free optimization should more
  than make up for.

- jslock.c now gives a #error if you try to compile it on a platform that
  lacks a compare-and-swap instruction.  The #error says to use NSPR locks.
  Before this change, some platforms would emulate compare-and-swap using
  a global PRLock, which is always worse in runtime than using per-scope
  PRLocks.
2000-12-04 02:43:31 +00:00
jband%netscape.com 7a40c13587 remove unnecessary nested JS_{Begin,End}Request in Load. r=beard 2000-12-04 02:13:13 +00:00
cls%seawood.org bce67763ee Add hooks to turn on module dep tracking by setting MOZ_TRACK_MODULE_DEPS=1 when running configure. Bug #59454 2000-12-04 01:34:02 +00:00
morse%netscape.com c8af3a99af bug 59690, editable menulists weren't working, r=ben@netscape.com, sr=hyatt@netscape.com 2000-12-04 00:41:12 +00:00
cls%seawood.org a208c58c4e Update REQUIRES. 2000-12-03 22:33:51 +00:00
disttsc%bart.nl ff18b315dc more cleaning up (bug 55798), r=alecf, a=ben 2000-12-03 02:08:57 +00:00
dbaron%fas.harvard.edu 1fa8a555d7 Only clear the status when setting a new document, not when clearing the old document, because clearing the old document depends on when the document viewer's destructor is called (and it could be called from within JS GC). (And fix a build warning too.) r=disttsc@bart.nl sr=brendan@mozilla.org b=61840 2000-12-03 01:21:54 +00:00
blakeross%telocity.com f897789c4d just removing an extra line in classic's xpinstall.css (the changes to xpinstall.css for classic and modern should both have been the same in my last checkin) 2000-12-03 00:10:11 +00:00
pschwartau%netscape.com f4a7e0b9b1 Removed hard-coded line var TZ_DIFF = -8. It's already set in the pre-loaded shell.js file. 2000-12-02 23:59:58 +00:00
blakeross%telocity.com 23b879ac2b Fix 52512: no visual indication that columns are resizable in xpinstall dialogs. r=dveditz sr=alecf 2000-12-02 23:47:49 +00:00
dbaron%fas.harvard.edu 49a4b13d1c Bypass XBL as a hack to avoid a large leak. b=61821 r=disttsc@bart.nl sr=alecf@netscape.com 2000-12-02 19:17:38 +00:00
dbaron%fas.harvard.edu 3a40e42717 Add information to stack trace format so it can be processed by addr2line. b=59136
Make logging not crash when dll unloading is enabled.  b=60710
r=waterson@netscape.com  sr=brendan@mozilla.org
2000-12-02 16:10:50 +00:00
dbaron%fas.harvard.edu b044086bf2 Free the nsGtkIMEHelper singleton in the module destructor and count it in the leak/bloat stats. b=59271 r=erik@netscape.com sr=brendan@mozilla.org 2000-12-02 16:06:29 +00:00
dbaron%fas.harvard.edu 4717094a96 Allow xlib to build with gcc "2.96". sr=blizzard@mozilla.org 2000-12-02 15:56:20 +00:00
dbaron%fas.harvard.edu 7ccca40aab Fix leak of atom and fix return value propagation from SetMedia. b=58697 r=pierre@netscape.com sr=waterson@netscape.com 2000-12-02 15:53:42 +00:00
disttsc%bart.nl 92cdde73d6 More appCore ditching (bug 46200) and cleaning up of navigator.js (bug 55798), r=alecf, a=ben 2000-12-02 14:55:42 +00:00
hyatt%netscape.com 330117b36e Making sure resource URIs are also globally cached by XBL (in addition to chrome URIs). a=ben 2000-12-02 10:34:52 +00:00
hyatt%netscape.com f7b4d6af7e Mac and Win XBL buttons. Not part of build. 2000-12-02 10:29:29 +00:00
hyatt%netscape.com 0b3b0dff71 XBL forms stuff. Not part of build. 2000-12-02 10:27:05 +00:00
hyatt%netscape.com 23b11f2ecb Enabling cross-namespace extensions for XBL. r=hixie, a=ben 2000-12-02 09:47:47 +00:00
waldemar%netscape.com 1cb8489414 Made 'super' into an operator. Added syntax for operator overloading. 2000-12-02 09:10:12 +00:00
waldemar%netscape.com d5ecb8fde4 Added 'operator' non-reserved word 2000-12-02 09:09:41 +00:00
sspitzer%netscape.com 67cda4ba6e fix for #60783. when removing a news account, remove all the username and passwords stored in the password manager for that account. (there can be a username and password for the server and every newsgroups.) thanks to andrew.taylor@cal.montage.ca for the patch. r=sspitzer, sr=syd. 2000-12-02 05:14:32 +00:00
sspitzer%netscape.com 14e422f3fc fix for #39398. need icons in the tree and the menu list in the subscribe dialog. sr=bienvenu,syd. 2000-12-02 03:14:41 +00:00
nelsonb%netscape.com 885d29d0b4 Use the new floating point Montgomery multiply code from Sun on Solaris. 2000-12-02 02:37:22 +00:00
jeff.dyer%compilercompany.com 9187c93f00 Fixed a couple typos. 2000-12-02 02:04:51 +00:00
jeff.dyer%compilercompany.com f9a2854819 Updated to reflect latest changes. 2000-12-02 01:49:18 +00:00
nelsonb%netscape.com 8c2b42042f In ssl3_GatherData, the value of gs->inbuf.len was incorrect during the
GS_HEADER state.  It should be correct in all states.
In ssl_DestroyGather, prior to freeing the buffers, the code zeroed out
the ciphertext buffer.  It now zeros out the plaintext buffer instead.
2000-12-02 00:54:01 +00:00
jeff.dyer%compilercompany.com 8d92d194b7 Import of Initial Source from MVCC 2000-12-02 00:46:31 +00:00
sspitzer%netscape.com a722f4ea85 fix for #61007 and #61176. improve performance when downloading list
of newsgroups over a fast connection.  compute the download rate for the UI.
sr=bienvenu,syd.  thanks to bratell@lysator.liu.se for the patch (for #61007).
2000-12-02 00:05:03 +00:00
mcgreer%netscape.com 9ce79d6c32 table wasn't wide enough for long runs 2000-12-01 23:48:22 +00:00
danm%netscape.com 5ff0eefc43 offscreen warnings given only for top-level windows, which is all we care about, if anything. bug 53621. r=lumpy. i swear. 2000-12-01 23:34:43 +00:00
mkaply%us.ibm.com f45e789702 #61723
r=jkobal, a=blizzard
Fix for printer problem incorrect - backing out
2000-12-01 23:08:34 +00:00
hyatt%netscape.com 1e3784fb46 update new build scripts along with the old ones. r=pink 2000-12-01 22:35:43 +00:00