Commit Graph

13238 Commits

Author SHA1 Message Date
Jim Blandy
088562e69d Comment fixes, assertions, and cleanups to Debug GC-related code. r=jorendorff, push=jorendorff. 2011-06-15 18:00:06 -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
Jason Orendorff
fcfd80cfc5 Merge from TM. Huge merge. Stack changes from bug 656462. 2011-06-15 16:14:09 -05:00
Brendan Eich
b2a9eace38 Inherited non-configurable accessor properties mis-reported as own properties (637994, r=jwalden). 2011-06-14 23:48:59 -07: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
Jim Blandy
900b1f6059 Bug 661567: Implement RuntimeAllocPolicy, providing proper memory accounting in GC'd objects that live longer than a JSContext. r=luke 2011-06-14 19:21:47 -07:00
Jim Blandy
fe837eb8a0 Bug 661567: Use ObjectValueMap typedef name where appropriate. r=gal 2011-06-14 19:21:47 -07:00
Luke Wagner
70b6adcc95 Bug 664159 - Fix eval-in-frame crash (r=waldo) 2011-06-14 17:35:19 -07:00
Nikhil Marathe
566af7c712 Bug 656519 - Add an interpreter fast-path for getting length from a typed array. r=mrbkap
--HG--
extra : rebase_source : b2d583778e14877cb0e01f0739d08cd31dc9c757
2011-06-14 15:35:54 -04:00
Nikhil Marathe
f96aadd8f3 Bug 656519 - Do a small size optimization for arraybuffer objects, possibly avoiding a second malloc entirely for small array buffers. r=mrbkap
--HG--
extra : rebase_source : 2dcaee6b42f47dafcfbb866a45ed2452f029a253
2011-06-14 15:34:06 -04:00
Nikhil Marathe
acda759fc1 Bug 656519 - Avoid a malloc (and a finalizer) by storing the malloc'd array in our slots instead of in a separate malloc'd structure in our private field. r=mrbkap
--HG--
extra : rebase_source : 791ede2d8db96f56e4ef8478d491aec413d3e392
2011-06-14 15:33:11 -04:00
Chris Leary
cb10121547 Avoid copy construction for paren info vector. (rs=dmandelin)
--HG--
extra : rebase_source : 659e9e5aa1946b2693645664584f98dfe068d19f
2011-06-14 11:53:14 -07:00
Jim Blandy
cde354a9bd Cross stack segment boundaries when looking for the youngest frame. Correctly check that live stack frames are on the stack. 2011-06-08 07:25:22 -07:00
Jim Blandy
91894959cf Verify that accessing frame properties throws once the frame is dead. 2011-06-07 12:15:26 -07:00
Jim Blandy
88decefd28 Merge from TM. 2011-06-07 12:12:28 -07:00
Nicholas Nethercote
a1825387bc Bug 645598 - Trim last bits of fat from the scanner, part 3 of 3. r=jwalden. 2011-06-07 13:48:55 +10:00
Nicholas Nethercote
af44ef61b4 Bug 645598 - Trim last bits of fat from the scanner, part 2 of 3. r=jwalden. 2011-06-07 13:48:21 +10:00
Nicholas Nethercote
5e87a0c3ea Bug 645598 - Trim last bits of fat from the scanner, part 1 of 3. r=jwalden. 2011-06-07 13:47:12 +10:00
Paul Biggar
33979e422d Bug 660681: Add NULL check to LeaveFunction (r=jimb) 2011-06-06 14:24:11 -07:00
Paul Biggar
118bf3fdae Bug 660670: Report an error on OOM in Parser::analyzeFunction (r=jimb) 2011-06-06 14:24:11 -07:00
Paul Biggar
08fcb0b61d Bug 660638: Add NULL check to Compiler::compileScript (r=jwalden) 2011-06-06 14:24:10 -07:00
David Mandelin
ea7d5ed079 Bug 662165: fix MSVC warning 2011-06-06 13:36:57 -07:00
Chris Leary
278e5141b8 Followup fix for merge, fix ifdef directive. 2011-06-06 09:58:15 -07:00
Chris Leary
f8e0e912ab Merge mozilla-central to tracemonkey. 2011-06-06 09:41:22 -07:00
Jim Blandy
8bd7752c01 Backed out changeset d02083014f57; build problems in nsXPConnect.cpp 2011-06-06 09:01:47 -07:00
Jim Blandy
80394f8a78 Backed out changeset 720b3fe3c84e; build problems in nsXPConnect.cpp. 2011-06-06 08:57:34 -07:00
timeless@mozdev.org
deceb8bf2b Bug 620182 [@ QuoteString | DecompileSwitch] when JSVAL_IS_DOUBLE(key) and SprintDoubleValue fails due to oom
r=jorendorff
2011-06-03 08:57:00 -07:00
Jason Orendorff
a0c2612fce Fix getYoungestFrame to get the newest frame even if it is in another cx. 2011-06-02 22:21:13 -05:00
Jason Orendorff
6a958619a0 Automatically turn debug mode on/off when adding/removing debuggees.
This allows most of the tests to run without the -d command-line flag.

Now a compartment is in debug mode if
 * JSD1 wants debug mode on, thanks to a JS_SetDebugMode* call; OR
 * JSD2 wants debug mode on, because a live Debug object has a debuggee
   global in that compartment.

Since this patch only adds the second half of the rule, JSD1 should be
unaffected.

The new rule has three issues:

1. When removeDebuggee is called, it can cause debug mode to be turned
   off for a compartment. If any scripts from that compartment are on
   the stack, and the methodjit is enabled, returning to those stack
   frames will crash.

2. When a Debug object is GC'd, it can cause debug mode to be turned off
   for one or more compartments. This causes the same problem with
   returning to deleted methodjit code, but the fix is different: such
   Debug objects simply should not be GC'd.

3. Setting .enabled to false still does not turn off debug mode
   anywhere, so it does not reduce overhead as much as it should.

A possible fix for issue #1 would be to make such removeDebuggee calls
throw.  The fix to issues #2 and #3 is to tweak the rule--and to tweak
the rule for Debug object GC-reachability.

--HG--
rename : js/src/jit-test/tests/debug/Debug-ctor.js => js/src/jit-test/tests/debug/Debug-ctor-01.js
2011-06-02 21:58:46 -05:00
Jason Orendorff
2ed818c0ac Fix bug in Debug::hasAnyLiveHooks. 2011-06-02 21:32:22 -05:00
Jason Orendorff
19c1ad7ee1 Add jit-test tag to the new test in the previous check-in. 2011-06-02 20:44:03 -05:00
Jason Orendorff
700d484393 Add passing test. 2011-06-02 20:41:16 -05:00
Ed Morley
5f60af28bb Bug 316661 - Remove null-checks before delete: Part B; r=pbiggar,brendan,bzbarsky 2011-06-01 03:07:00 -07:00
Alon Zakai
5ea390381e Bug 644241 followup for compiler warning 2011-06-03 18:13:47 -07:00
Alon Zakai
f482160f72 Bug 644241, part 2: Disabling OOMing tests. r=igor 2011-06-03 17:54:30 -07:00
Alon Zakai
2f4274045c Bug 644241, part 1 - Remove script stack quota. r=igor 2011-06-03 17:54:26 -07:00
Chris Leary
ad6cf7c541 Bug 576828: Test self-referential backreference. (r=dmandelin)
--HG--
extra : rebase_source : 42b9319d8e9c5ae48a04e8f9e099ee2ea8d93294
2011-06-03 16:36:42 -07:00
Chris Leary
dae433fed7 Bug 661770: Avoid call overhead atomizing from js_AtomizeChars. (r=njn)
--HG--
extra : rebase_source : 0bcacc47c6171886e6d200c1de093df5aa326e8d
2011-06-03 15:36:07 -07:00
Chris Leary
db8f0665e7 Bug 661770: Make shell's compile builtin compile-and-go. (r=dvander)
--HG--
extra : rebase_source : d6ad31d173ff1b4c115957db23af034d3cee7ba2
2011-05-31 20:38:02 -07:00
Bill McCloskey
f7c5d49018 Bug 660778 - Deal with stack overflow in UnmarkGrayChildren (r=gal) 2011-06-03 13:08:21 -07:00
Nicholas Nethercote
f54b0fa19d Bug 546477 - add explicit/js/stack memory reporter. r=luke. 2011-06-02 19:40:57 -07:00
Phil Ringnalda
0344c24e80 Interim bug 660497 bustage fix, use $(OS_TARGET) until ANDROID is usable as a makefile define 2011-05-28 20:25:30 -07:00
Luke Wagner
6beaae8ad4 Dial down recursion in new test added by abd2dcd555f4 so as to not chew up so much C stack when the mjit is disabled (r=orange) 2011-06-02 18:39:48 -07:00
Luke Wagner
07c939e83e Bug 538293 - remove inlineCallCount and this STACK_QUOTA silliness (r=dvander)
--HG--
extra : rebase_source : 724910c67423b0720ca5c3732699bca4d64324ef
2011-05-27 18:15:39 -07:00
Luke Wagner
a710729944 Bug 656171 - Just remove this mutual subsumption assertion; with document.domain it's not strictly true (r=mrbkap)
--HG--
extra : rebase_source : 78247eba80e9196c929d9136273557faa717407c
2011-06-02 16:35:31 -07:00
Bill McCloskey
c23838f371 Fix jstest timeouts caused by patch for bug 650978 2011-06-02 15:07:01 -07:00
Gregor Wagner
9ce0f0d1ba Bug 660329 - GC: add reason for GC to GCTimer. r=igor 2011-06-02 13:02:21 -07:00
Brian Hackett
a804aa88fe Fix bug 650673, r=dmandelin. 2011-06-02 12:22:39 -07:00