Jason Orendorff
8fc23fced7
Add Debug.Script.getChildScripts.
2011-07-05 06:57:06 -05:00
Jason Orendorff
1ceaa9d843
Merge from tracemonkey to jsdbg2.
2011-07-01 19:22:47 -05:00
Jason Orendorff
1f245d40df
Merge from tracemonkey to jsdbg2.
2011-07-01 19:02:40 -05:00
Jason Orendorff
18a3fe661b
Two changes: Try to make tests/debug/gc-06.js more reliable with conservative GC. And remove the new compartment assertions from jsdbgapi.h, to avoid disturbing jsdbgapi.h-using code other than JSD (such as the shell's trap() function).
2011-07-01 10:30:16 -05:00
Jason Orendorff
6520ac2269
Adjust compartment assertions in the new implementations of jsdbgapi.h Trap entry points. Some are tightened up, but JS_ClearScriptTraps no longer asserts, as that caused a test to fail in debug builds.
2011-06-29 10:16:55 -05:00
Jason Orendorff
ada69f18d9
Fix test jit-test/tests/debug/Debug-ctor-03.js: only expect new Debug(parent) to fail if parent really cannot be put into debug mode.
2011-06-28 18:08:49 -05:00
Jason Orendorff
be6339e5c2
Add breakpoints.
...
This adds a new per-compartment implementation of breakpoints and
reimplements the jsdbgapi.h "trap" entry points on top of it. Most
jsdbgapi.h-using code will still work, but there is no longer a single
runtime-wide trapList protected by a lock. Embeddings must follow the
compartment rules for thread safety.
JS_ClearAllTraps was removed, replaced by the per-compartment API
JS_ClearAllTrapsForCompartment.
The new implementation asserts that the PC passed to JS_SetTrap is
actually an offset of an instruction, not just a random number. This
caused quite a few tests to fail; fixes are included.
Added Debug.Script.prototype.setBreakpoint, getBreakpoints,
clearBreakpoint, and clearAllBreakpoints; and
Debug.prototype.clearAllBreakpoints.
In addition to tests targeting the new functionality, this changeset
includes some tests for Debug.Script.prototype.getLineOffsets, which is
hard to test without breakpoints.
2011-06-28 16:06:34 -05:00
Jason Orendorff
4230b2f588
Revise comments on js::Debug::mark. Also inline Debug::sweepCompartment into Debug::sweepAll.
2011-06-28 14:48:22 -05:00
Jason Orendorff
8d25455a7a
Add Script.prototype.getAllOffsets and getLineOffsets.
2011-06-28 14:46:00 -05:00
Jason Orendorff
5287606d54
Quick follow-up for thinko in bug 667925: lists can be empty. r=orange.
2011-06-28 12:28:02 -05:00
Jason Orendorff
8b9d92f2ef
Bug 667925 - Line number is bogus on JSOP_TRACE opcodes. r=brendan.
2011-06-28 12:15:32 -05:00
Jason Orendorff
f87c801c95
Add Script.prototype.getOffsetLine.
2011-06-25 20:58:17 -05:00
Jason Orendorff
1c0e0f089a
Add Frame.prototype.offset.
2011-06-25 19:13:19 -05:00
Jim Blandy
8659cd535a
Test that we get the same Debug.Script instance for different closures made from the same 'function' expression/declaration/statement.
2011-06-24 14:10:26 -07:00
Jim Blandy
6176d9b411
Fix 'if' in DebugObject_trace: the scope of a declaration includes its initializer.
2011-06-24 14:02:23 -07:00
Jason Orendorff
cebed13303
Support disabling debug mode in a compartment with scripts on the stack. Dump the debug-mode JIT code during a later GC.
2011-06-23 12:25:48 -05:00
Jason Orendorff
29b34b6b75
Change js::Debug::heldScripts to have pointers to debuggee-compartment objects as keys, rather than wrappers.
...
--HG--
rename : js/src/jit-test/tests/debug/Script-gc.js => js/src/jit-test/tests/debug/Script-gc-01.js
2011-06-20 18:30:36 -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
Jason Orendorff
7b711756ef
Fix Debug-ctor-03.js (regression: the exception is being thrown in the wrong compartment since rev e05d3da5866a) and make removeDebuggee throw if it would disable debug mode in a compartment with scripts on the stack.
2011-06-20 15:33:53 -05:00
Jason Orendorff
9945b3dbb5
GlobalObject::getOrCreateDebuggers must be called in the global object's compartment, since it may create an object.
2011-06-20 14:06:42 -05:00
Jason Orendorff
d90314e09c
Initial support for Debug.Script instances. r=jorendorff, push=jorendorff.
2011-06-17 16:28:32 -05:00
Jason Orendorff
38ba6a702a
Merge.
2011-06-17 11:12:33 -05:00
Jason Orendorff
a212e74aed
Fix MSVC-only errors and a warning.
2011-06-16 10:25:10 -05:00
Jim Blandy
b9b63b7f8e
Define new macro, THIS_DEBUGOBJECT_OWNER_REFERENT, which also provides the owning Debug. r=jorendorff, push=jorendorff.
2011-06-15 18:02:02 -05:00
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
Andrew McCreight
3f1b66195e
Backout bug 653248 due to bug 667011
2011-06-15 10:55:58 -07: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
Makoto Kato
cd7ae32ee3
Bug 635617 - 64-bit crash [@ MakeDay] r=jwalden
2011-06-08 10:41:37 +09:00
Makoto Kato
8aef16bd3b
Bug 667076 - follow up for bustage on Win64. r=luke
2011-07-01 15:59:58 +09:00
Jeff Walden
0dfbe6d91b
Bug 657298 - Various bugs in setting the length of an array. r=dmandelin
...
--HG--
extra : rebase_source : f27bd4d0141df46d7ef054c91c2601d3b50d9690
2011-06-28 10:05:53 -07:00
Jeff Walden
d2d6ef6dd4
Bug 667527 - Remove the array-length limitation from the method used in certain cases to append values to newborn arrays, and name it more generally than previously. r=dmandelin
...
--HG--
extra : rebase_source : 1f7ee1dc5f5bd3185a8c7e02c5fdf8dcef765cb4
2011-06-28 10:05:40 -07:00
Nikhil Marathe
309bac37f9
Bug 665355 - Make delegate object and ArrayBuffer share same prototype. r=mrbkap
...
--HG--
extra : rebase_source : a7bd7dce5e0fbc53097f56065f5d5290046bc691
2011-06-29 17:42:03 -07:00
Nikhil Marathe
052a90e97b
Bug 665355 - Fix __proto__ recursion. r=mrbkap
...
--HG--
extra : rebase_source : b97d692c2318e3e071e68e2e1cec38ca9e614cb0
2011-06-29 17:41:35 -07:00
Nikhil Marathe
9a3fd541fa
Bug 665914 - ArrayBuffer.prototype['byteLength'] crashes. r=mrbkap
...
--HG--
extra : rebase_source : 09fda2860e11457f516c3b0b0614bde7e3ff3a91
2011-06-29 17:38:10 -07:00
Blake Kaplan
4b185d0ef0
Bug 667630 - Don't treat the payload of a jsval as a pointer and make sure we unroot the value. r=luke
...
--HG--
extra : rebase_source : b3c5c3a29c859e2632ef97b0acc0a18842f9c52a
2011-06-29 17:36:09 -07:00
Blake Kaplan
e9d975ff6a
Bug 664689 - Deal with wrappers-around-wrappers here. r=gal
...
--HG--
extra : rebase_source : af67e8aded9aa89874c0d74bc9fd48df2268eafc
2011-06-28 14:00:19 -07:00
Steve Fink
67a675cdaa
Bug 667056 - Fix when function callbacks are invoked (r=luke)
2011-06-24 17:13:19 -07:00