Commit Graph

11 Commits

Author SHA1 Message Date
brendan%mozilla.org
a099682b6e Fix a macro name (LIMIT, not MAX -- fencepost, not maximum value; r=lumpy, sr=jack). 2002-08-07 20:22:38 +00:00
brendan%mozilla.org
6b265c5d37 Sync these mirrored sources with their primaries at js/src/jsdhash.[ch] (see bug 62164, r=shaver, sr=jband). 2002-02-23 10:04:29 +00:00
jst%netscape.com
50295b2702 Fixing part of bug 118933. Speeding up the global resolve hook in the DOM JS helpers by eliminating the use of nsHashtable and nsStringKey in favor of pldhash. Adding global HashString(const nsA[C]String&) functions that calculate a hash code from a nsA[C]String, code by dbaron@fas.harward.edu. Also checking in brendan@mozilla.org's fix for a type error in the jsdhash/pldhash API found while working on this. sr=brendan@mozilla.org, r=peterv@netscape.com 2002-01-17 04:08:14 +00:00
brendan%mozilla.org
eb9671e246 Add SetAlphaBounds, TABLE_SIZE, and MIN_ALPHA APIs (103990, r=dbaron, sr=waterson). 2001-10-16 05:40:27 +00:00
gerv%gerv.net
4e12e44b2f Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00
brendan%mozilla.org
3efd0e519f 1. Fix jsdhash/pldhash.[ch] so that add/remove cycles for a given k do not
create a long chain of removed sentinels.  Also, when adding k to a table
    where k is not mapped, but where k hashes to a chain that includes removed
    sentinels, recycle the first removed sentinel in the chain for k's entry.
2.  Cache cx->resolving till js_DestroyContext, to avoid high JSDHashTable
    new/destroy overhead in js_LookupProperty.
3.  Add NS_TraceStack to nsTraceMalloc.[ch] and clean the .c file up a bit.
2001-09-12 06:39:31 +00:00
brendan%mozilla.org
769e09a93e - Add a generation number to JSDHashTable that counts entryStore changes due
to grows, shrinks, and compresses.  This helps JS_DHashTableOperate callers
  who hold returned entry pointers to validate those pointers and avoid having
  to re-lookup an entry by its key.
- Balance that addition by removing JSDHashTable.sizeMask, which is induced by
  JSDHashTable.sizeLog2 at the cost of two typically single-cycle instructions.
- Use JSDHashTable.generation in jsobj.c to avoid unsafely dereferencing an
  entry pointer held across calls to JSClass.resolve from js_LookupProperty,
  which may recur and add entries to cx->resolving, growing that table and
  invalidating entry pointers held by earlier js_LookupProperty activations.
(bug 78121, r=jst@netscape.com, sr=jband@netscape.com, a=asa@mozilla.org)
2001-05-25 03:05:38 +00:00
brendan%mozilla.org
38fa3fed08 Add optional JSDHashTableOps.initEntry hook, spruce up comments (74883, r=waterson, sr=shaver). 2001-05-15 21:07:10 +00:00
mkaply%us.ibm.com
5f5b489750 #73191
r=beard, sr=brendan
Remove CRT_CALL - change to PR_CALLBACK or JS_DLL_CALLBACK appropriately
2001-03-26 23:21:53 +00:00
brendan%mozilla.org
1e8530d216 Fix bug 69271, r=waterson, sr=shaver:
- Don't ape java.lang.String's bogo-sampling hash function for "long" (>=16
  char) strings.
- Theory and practice comment in pldhash.h helps analyze when to use double
  hashing (most of the time) vs. when to use chaining.
- Subroutine ChangeTable from PL_DHashTableOperate so it can be called from
  PL_DHashTableEnumerate, if the latter finds that enough entries have been
  removed to be worth a shrink or compress cycle.
2001-03-14 07:48:07 +00:00
brendan%mozilla.org
da11005af4 Add pldhash.[ch], sed-translated from js/src/jsdhash.[ch]. 2000-08-30 19:32:03 +00:00