Jason Orendorff
c4f527861a
Merge from mozilla-central to jsdbg2.
2011-07-28 13:45:51 -05:00
Jason Orendorff
0a4b0df2c1
Address review comments from brendan (bug 627829 comment 35).
2011-07-22 10:54:36 -05:00
Jason Orendorff
f8465f2924
Bug 637985 - Reimplement watchpoints using a JSObject bit. r=jimb.
2011-07-27 17:44:43 -05:00
Blake Kaplan
4dce96c6be
Bug 669228 - Don't use the dummy global as a real global. r=jorendorff
2011-07-27 12:33:33 -07:00
Jason Orendorff
671bbf0bb1
Merge mozilla-central to jsdbg2.
2011-07-18 10:58:56 -05:00
Jason Orendorff
b25a91e697
Merge from tracemonkey to jsdbg2.
2011-07-11 08:53:27 -05:00
Brian Hackett
fd156b6340
Revert to 6840fbf4dcdd
2011-07-08 17:58:10 -07:00
Brian Hackett
00d04a894d
Restore per-compartment empty call shape, bug 670152. r=jorendorff
2011-07-08 11:16:25 -07:00
Brian Hackett
752b11eaa2
Measure type inference memory usage, bug 669958. r=njn
2011-07-07 20:04:47 -07:00
Nicholas Nethercote
bc2ec1e581
Bug 671482 - Rename some identifiers to improve clarity. r=anygregor.
2011-07-15 09:31:52 +10:00
Bill McCloskey
fd629a392b
Bug 661903 - Move script filename table to compartment (r=igor)
2011-07-14 16:02:12 -07:00
Brian Hackett
1b078f3536
Merge TM -> JM
2011-07-05 18:22:24 -07:00
Chris Leary
679a65fe47
Merge mozilla-central and tracemonkey.
2011-07-05 17:30:35 -07:00
Jason Orendorff
26c054bdc4
Rename Debug to Debugger.
...
--HG--
rename : js/src/jit-test/tests/debug/Debug-clearAllBreakpoints-01.js => js/src/jit-test/tests/debug/Debugger-clearAllBreakpoints-01.js
rename : js/src/jit-test/tests/debug/Debug-ctor-01.js => js/src/jit-test/tests/debug/Debugger-ctor-01.js
rename : js/src/jit-test/tests/debug/Debug-ctor-02.js => js/src/jit-test/tests/debug/Debugger-ctor-02.js
rename : js/src/jit-test/tests/debug/Debug-ctor-03.js => js/src/jit-test/tests/debug/Debugger-ctor-03.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-01.js => js/src/jit-test/tests/debug/Debugger-debuggees-01.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-02.js => js/src/jit-test/tests/debug/Debugger-debuggees-02.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-03.js => js/src/jit-test/tests/debug/Debugger-debuggees-03.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-04.js => js/src/jit-test/tests/debug/Debugger-debuggees-04.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-05.js => js/src/jit-test/tests/debug/Debugger-debuggees-05.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-06.js => js/src/jit-test/tests/debug/Debugger-debuggees-06.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-07.js => js/src/jit-test/tests/debug/Debugger-debuggees-07.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-08.js => js/src/jit-test/tests/debug/Debugger-debuggees-08.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-09.js => js/src/jit-test/tests/debug/Debugger-debuggees-09.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-10.js => js/src/jit-test/tests/debug/Debugger-debuggees-10.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-11.js => js/src/jit-test/tests/debug/Debugger-debuggees-11.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-12.js => js/src/jit-test/tests/debug/Debugger-debuggees-12.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-13.js => js/src/jit-test/tests/debug/Debugger-debuggees-13.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-14.js => js/src/jit-test/tests/debug/Debugger-debuggees-14.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-15.js => js/src/jit-test/tests/debug/Debugger-debuggees-15.js
rename : js/src/jit-test/tests/debug/Debug-debuggees-16.js => js/src/jit-test/tests/debug/Debugger-debuggees-16.js
rename : js/src/jit-test/tests/debug/Debug-enabled-01.js => js/src/jit-test/tests/debug/Debugger-enabled-01.js
rename : js/src/jit-test/tests/debug/Debug-getYoungestFrame-01.js => js/src/jit-test/tests/debug/Debugger-getYoungestFrame-01.js
rename : js/src/jit-test/tests/debug/Debug-getYoungestFrame-02.js => js/src/jit-test/tests/debug/Debugger-getYoungestFrame-02.js
rename : js/src/jit-test/tests/debug/Debug-multi-01.js => js/src/jit-test/tests/debug/Debugger-multi-01.js
rename : js/src/jit-test/tests/debug/Debug-multi-02.js => js/src/jit-test/tests/debug/Debugger-multi-02.js
rename : js/src/jit-test/tests/debug/Debug-multi-03.js => js/src/jit-test/tests/debug/Debugger-multi-03.js
2011-07-05 07:48:26 -05:00
Gregor Wagner
72e00fabf4
Bug 666058 - Don't share chunks for system compartments. r=gal,igor.
2011-07-05 14:14:33 +10:00
Jason Orendorff
1f245d40df
Merge from tracemonkey to jsdbg2.
2011-07-01 19:02:40 -05:00
Brian Hackett
dee99963bb
Merge TM -> JM
2011-07-01 16:24:32 -07: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
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
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
Brian Hackett
1186d01428
Merge TM -> JM
2011-06-06 09:48:04 -07:00
Jason Orendorff
6367a9c217
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; a different possibility is to turn off debug mode but leave all
the scripts alone, accepting the performance loss (as we do for JSD1 in
JSCompartment::setDebugModeFromC). 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
Jim Blandy
88decefd28
Merge from TM.
2011-06-07 12:12:28 -07:00
Jim Blandy
8bd7752c01
Backed out changeset d02083014f57; build problems in nsXPConnect.cpp
2011-06-06 09:01:47 -07: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
Brian Hackett
58811dfa16
[INFER] Address array review comments, add back backedge table, bug 657412.
2011-06-01 11:15:51 -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
Brian Hackett
1354314184
Merge TM -> JM
2011-05-27 15:08:04 -07:00
Jason Orendorff
0305e45450
Merge from tracemonkey to jsdbg2.
2011-05-25 17:52:35 -05:00
Jason Orendorff
5323e5a91c
Debuggees are globals, not compartments.
2011-05-23 11:11:09 -05:00
Brian Hackett
131bcf7ab2
[INFER] Disable inference and infallibly discard jitcode on OOM, bug 637674.
2011-05-18 12:34:17 -07:00
Jason Orendorff
001c42745d
Merge from tracemonkey to jsdbg2. This merge reveals a bug in DebugFrame_getOlder, to be fixed separately.
2011-05-16 17:50:52 -05:00
Brian Hackett
55015fcf39
Merge TM -> JM
2011-05-11 20:37:23 -07:00
Brian Hackett
769796394d
[INFER] Reset use count when recompiling, bug 650163.
2011-05-09 15:11:32 -07:00
Brian Hackett
c930c3e982
Merge TM -> JM
...
--HG--
rename : js/src/GlobalObject.cpp => js/src/vm/GlobalObject.cpp
2011-05-09 09:49:48 -07:00
Jason Orendorff
03415943ee
Merge from tracemonkey to jsdbg2.
2011-05-04 12:13:58 -05:00
Jason Orendorff
a0e4b2bf22
Merge from tracemonkey to jsdbg2.
2011-04-29 10:12:46 -05:00
Paul Biggar
b005c6c2d4
Merge backout.
2011-04-29 04:01:23 -07:00
Paul Biggar
15828cd649
Backed out changeset 334ada87e329 (bug 628332) - those a11y errors arrived at the same time as this landing, so backing this out to see if that fixes it.
2011-04-29 04:00:57 -07:00
Brian Hackett
838352f9db
Merge TM -> JM
2011-04-28 13:02:47 -07:00
Christian Holler
faf48eb1e7
Bug 628332 - Avoid double-frees when compartment allocation fails (r=billm).
2011-04-27 16:09:00 -07:00
Jason Orendorff
4fcb55d0aa
New rule: a Debug object cannot be attached to a compartment that is not in debug mode. Includes a jsapi-test to check that we do not crash if you turn debug mode off while a Debug object is already attached. (This changeset moves all the Debug object tests under jit-tests because the jit-test runner lets tests ask for debug mode.)
...
--HG--
rename : js/src/tests/js1_8_5/extensions/debug-object-01.js => js/src/jit-test/tests/debug/debug-object-01.js
rename : js/src/tests/js1_8_5/extensions/debug-object-02.js => js/src/jit-test/tests/debug/debug-object-02.js
rename : js/src/tests/js1_8_5/extensions/debug-object-03.js => js/src/jit-test/tests/debug/debug-object-03.js
rename : js/src/tests/js1_8_5/extensions/debug-object-04.js => js/src/jit-test/tests/debug/debug-object-04.js
rename : js/src/tests/js1_8_5/extensions/debug-object-05.js => js/src/jit-test/tests/debug/debug-object-05.js
rename : js/src/tests/js1_8_5/extensions/debug-object-06.js => js/src/jit-test/tests/debug/debug-object-06.js
rename : js/src/tests/js1_8_5/extensions/debug-object-07.js => js/src/jit-test/tests/debug/debug-object-07.js
rename : js/src/tests/js1_8_5/extensions/debug-object-08.js => js/src/jit-test/tests/debug/debug-object-08.js
rename : js/src/tests/js1_8_5/extensions/debug-object-09.js => js/src/jit-test/tests/debug/debug-object-09.js
rename : js/src/tests/js1_8_5/extensions/debug-object-10.js => js/src/jit-test/tests/debug/debug-object-10.js
rename : js/src/tests/js1_8_5/extensions/debug-object-11.js => js/src/jit-test/tests/debug/debug-object-11.js
rename : js/src/tests/js1_8_5/extensions/debug-object-12.js => js/src/jit-test/tests/debug/debug-object-12.js
rename : js/src/tests/js1_8_5/extensions/debug-object-13.js => js/src/jit-test/tests/debug/debug-object-13.js
rename : js/src/tests/js1_8_5/extensions/debug-object-14.js => js/src/jit-test/tests/debug/debug-object-14.js
rename : js/src/tests/js1_8_5/extensions/debug-object-15.js => js/src/jit-test/tests/debug/debug-object-15.js
rename : js/src/tests/js1_8_5/extensions/debug-object-16.js => js/src/jit-test/tests/debug/debug-object-16.js
rename : js/src/tests/js1_8_5/extensions/debug-object-17.js => js/src/jit-test/tests/debug/debug-object-17.js
rename : js/src/tests/js1_8_5/extensions/debug-object-18.js => js/src/jit-test/tests/debug/debug-object-18.js
rename : js/src/tests/js1_8_5/extensions/debug-object-19.js => js/src/jit-test/tests/debug/debug-object-19.js
rename : js/src/tests/js1_8_5/extensions/debug-object-20.js => js/src/jit-test/tests/debug/debug-object-20.js
rename : js/src/tests/js1_8_5/extensions/debug-object-21.js => js/src/jit-test/tests/debug/debug-object-21.js
2011-04-27 17:37:14 -05:00
Chris Leary
e9c15c147e
Merge mozilla-central to tracemonkey.
2011-05-09 14:27:44 -07:00
Igor Bukanov
0370e3ab43
bug 652416 - race fixes and other cleanups for background finalization. r=anygregor
...
--HG--
extra : rebase_source : b1685fff8fa5dab43b9b595daa6118249d3ef891
2011-04-25 22:05:30 +02:00
Brian Hackett
43c276be4a
[INFER] Bytecode SSA analysis, bug 650715.
2011-04-22 07:59:45 -07:00
Christian Holler
b0902374f8
Bug 628332 - Avoid double-frees when compartment allocation fails (r=billm).
2011-05-03 04:26:40 -07:00
Jason Orendorff
d48b27e096
Rearrange some stuff. This way more js::Debug methods can be private, without making anything new public; all the event dispatch code is in one place; and we avoid having JSCompartment methods in jsdbg.cpp.
2011-04-21 14:44:53 -05:00
Chris Jones
6fd4cbff2d
Bug 642381, part 2: Rename LazilyConstructed to Maybe. r=luke
2011-04-28 17:48:51 -05:00
Brian Hackett
68b35100e1
Merge TM -> JM
2011-04-19 08:23:41 -07:00
Jason Orendorff
5e2c73b316
Add rudimentary support for Debug.prototype.hooks.debuggerHandler. Note: A new constant JSPROP_NATIVE_ACCESSOR is added in jsapi.h, so that js_InitClass can create proper accessor properties.
2011-04-18 17:42:07 -05:00