Commit Graph

24 Commits

Author SHA1 Message Date
Andrew McCreight
723b06c06c Bug 668855, part 1: add JS weak map tracing interface. r=billm 2011-11-24 07:35:56 -05:00
Bill McCloskey
5ef98ce429 Bug 641027 - Add snapshot-at-the-beginning write barriers for incremental GC (r=luke,bhackett) 2011-10-25 16:07:42 -07:00
Andrew McCreight
e07b95d185 Bug 688277, part 1 - add JS friend API to get keys of a weak map. r=jorendorff 2011-10-13 09:33:39 -07:00
Luke Wagner
c7d3e6785c Bug 689362 - Create js/public (with the intention that its contents will eventually be the only INSTALLED_HEADERS), move Vector and HashTable to js/public and some dependencies (r=billm,sr=dmandelin)
--HG--
rename : js/src/jshashtable.h => js/public/HashTable.h
rename : js/src/jsvector.h => js/public/Vector.h
rename : js/src/mfbt/InlineMap.h => js/src/ds/InlineMap.h
extra : rebase_source : 818639b74653667b7a572bc1234398c0e4559a60
2011-10-04 15:33:00 -07:00
Igor Bukanov
c4a996026b bug 687966 - eliminating held/unheld scripts in the debugger. r=jorendorff 2011-09-20 21:49:12 +02:00
Jeff Walden
ad84112454 Make ~WeakMapBase virtual to silence MSVC. It's a destructor, probably called in concert with a delete or free(), so perf shouldn't matter, right? r=mozbot 2011-10-05 15:53:50 -07:00
Andrew McCreight
fc9615e7fa Bug 681104 - Add JSTracer flag to disable visiting WeakMap mappings. r=billm 2011-09-04 11:25:49 -07:00
Andrew McCreight
0fb250acb2 Bug 684595 - Don't visit WeakMap keys from the WeakMap in markentry. r=jorendorff 2011-09-04 10:16:23 -07:00
Luke Wagner
357b5b8cf8 Bug 684110 - Clean JSObject::clasp usage (r=pbiggar) 2011-09-02 17:23:26 -07:00
Ed Morley
2d385ce59f Backout bug 684110 (08b6eaf6aad0, cf8b35fa1010, 25ee45edabe1, 659f5c7d2cc9, 870f6dd82586 & e1ad65d6a7fd) and bug 684344 (cd1957f6628d) on a CLOSED TREE; a=bustage-fairies 2011-09-03 03:21:25 +01:00
Luke Wagner
39242fcb8c Bug 684110 - Clean JSObject::clasp usage (r=pbiggar) 2011-09-02 17:23:26 -07:00
Jason Orendorff
75a71f51e8 Merge from mozilla-central to jsdbg2 branch. 2011-07-27 18:23:16 -05:00
Jason Orendorff
0be0bd62cf Address review comments from billm (bug 672829 comment 15). 2011-07-21 18:14:33 -05:00
Jason Orendorff
1f245d40df Merge from tracemonkey to jsdbg2. 2011-07-01 19:02:40 -05:00
Jason Orendorff
4370701afc Change js::Debug::objects to have referents as keys, rather than cross-compartment wrappers of referents.
This adds support for cross-compartment WeakMaps and changes js::Debug::objects to be one. It eliminates the vexing JSMSG_DEBUG_STREAMS_CROSSED error messsage.

The GC interaction between jsgc and jsdbg is a little more complex now; like the cross-compartment wrapper maps, Debug::objects must be marked (just once) during per-compartment GC. In other ways this is a simplification.
2011-06-20 18:26:05 -05:00
Jim Blandy
f79cb0d6c7 Use WeakMap for the Debug::objects, the mapping from referents to Debug.Objects. r=jorendorff, push=jorendorff. 2011-06-15 17:53:26 -05:00
Brendan Eich
a2fa4d23af No else after return. 2011-06-14 19:32:33 -07:00
Jim Blandy
a282ee62d3 Bug 660039: Provide a WeakMap usable from C++. r=jorendorff
Remove WeakMap class; implement the JavaScript object using functions static to jsweakmap.cpp.

Define a new WeakMap class template, parameterized by Key and Value types,
and accepting a MarkPolicy argument saying how to mark them.

Add assertions to check that we check and set the right mark bits, and
tests that trip them in the presence of mistakes in earlier revisions of
this patch.
2011-06-14 19:21:47 -07:00
Jim Blandy
7cdc628e2a Bug 661567: Use RuntimeAllocPolicy in JS WeakMap objects, not ContextAllocPolicy. r=jorendorff 2011-06-14 19:21:47 -07:00
Andrew McCreight
e64d5e1c0e Bug 655297 - Mark XPC wrapped natives used as weak map keys. r=billm 2011-07-22 09:51:51 -07:00
Jim Blandy
e107c04e19 Bug 667126: Allow WeakMaps where the criterion for retaining an entry does not imply that the entry's key has been marked. r=jorendorff
This patch replaces the 'markKey' and 'markValue' member functions of the
MarkPolicy template parameter with two functions:

- markEntryIfLive determines if a map entry should be retained, and, if so
  ensures its key and value have been marked.
- markEntry simply marks an entry's key and value, unconditionally.

The comments describe these in more detail.
2011-06-29 02:27:47 -07:00
Andreas Gal
fd2168c3af Implement Harmony weak maps (bug 547941, r=jorendorff). 2011-04-16 21:23:44 -07:00
L. David Baron
0a579a3bbb Back out changeset 7dcd0d16cc08 (bug 547941) for causing jsreftest crashes on debug builds. 2011-04-12 01:28:40 -07:00
Andreas Gal
55fc66a7e0 Bug 547941 - WeakMap. r=jorendorff. 2011-04-11 22:38:11 -07:00