Brian Hackett
e3657362df
[INFER] Mark singleton JSObjects as well as TypeObjects when a GC is triggered during analysis, bug 678240.
2011-08-17 13:16:11 -07:00
Brian Hackett
f3b5be7a42
[INFER] Allocate typeset data and properties from arenas, occasionally purge observed types in compartments, bug 679329.
2011-08-17 06:48:14 -07:00
Brian Hackett
06268c9f02
Merge MC -> JM
2011-08-14 19:51:16 -07:00
Brian Hackett
4c611afd71
Merge MC -> JM
2011-08-12 07:20:08 -07:00
Jason Orendorff
fbb0edbd8d
Merge jsdbg2 to mozilla-inbound. See bug 672829.
2011-08-13 13:29:18 -05:00
Jason Orendorff
a84b890520
Address review comments from billm in bug 672829 comment 76.
2011-08-11 16:07:35 -05:00
Jason Orendorff
9bca815475
Address review comments from billm (bug 672829 comment 65).
2011-08-11 00:58:28 -05:00
Jason Orendorff
bba8ad1126
Address review comments from brendan (bug 672829 comment 42).
2011-08-03 19:43:39 -05:00
Brian Hackett
6c3284f1e8
Merge MC -> JM.
...
--HG--
rename : dom/src/threads/Makefile.in => dom/workers/Makefile.in
rename : dom/src/threads/test/Makefile.in => dom/workers/test/Makefile.in
rename : dom/src/threads/test/WorkerTest.jsm => dom/workers/test/WorkerTest.jsm
rename : dom/src/threads/test/atob_worker.js => dom/workers/test/atob_worker.js
rename : dom/src/threads/test/chromeWorker_subworker.js => dom/workers/test/chromeWorker_subworker.js
rename : dom/src/threads/test/chromeWorker_worker.js => dom/workers/test/chromeWorker_worker.js
rename : dom/src/threads/test/closeOnGC_worker.js => dom/workers/test/closeOnGC_worker.js
rename : dom/src/threads/test/importScripts_worker.js => dom/workers/test/importScripts_worker.js
rename : dom/src/threads/test/importScripts_worker_imported1.js => dom/workers/test/importScripts_worker_imported1.js
rename : dom/src/threads/test/importScripts_worker_imported2.js => dom/workers/test/importScripts_worker_imported2.js
rename : dom/src/threads/test/json_worker.js => dom/workers/test/json_worker.js
rename : dom/src/threads/test/recursion_worker.js => dom/workers/test/recursion_worker.js
rename : dom/src/threads/test/relativeLoad_sub_worker.js => dom/workers/test/relativeLoad_sub_worker.js
rename : dom/src/threads/test/relativeLoad_worker.js => dom/workers/test/relativeLoad_worker.js
rename : dom/src/threads/test/simpleThread_worker.js => dom/workers/test/simpleThread_worker.js
rename : dom/src/threads/test/terminate_worker.js => dom/workers/test/terminate_worker.js
rename : dom/src/threads/test/test_404.html => dom/workers/test/test_404.html
rename : dom/src/threads/test/test_chromeWorker.html => dom/workers/test/test_chromeWorker.html
rename : dom/src/threads/test/test_chromeWorker.xul => dom/workers/test/test_chromeWorker.xul
rename : dom/src/threads/test/test_chromeWorkerJSM.xul => dom/workers/test/test_chromeWorkerJSM.xul
rename : dom/src/threads/test/test_close.html => dom/workers/test/test_close.html
rename : dom/src/threads/test/test_closeOnGC.html => dom/workers/test/test_closeOnGC.html
rename : dom/src/threads/test/test_errorPropagation.html => dom/workers/test/test_errorPropagation.html
rename : dom/src/threads/test/test_fibonacci.html => dom/workers/test/test_fibonacci.html
rename : dom/src/threads/test/test_importScripts.html => dom/workers/test/test_importScripts.html
rename : dom/src/threads/test/test_json.html => dom/workers/test/test_json.html
rename : dom/src/threads/test/test_longThread.html => dom/workers/test/test_longThread.html
rename : dom/src/threads/test/test_navigator.html => dom/workers/test/test_navigator.html
rename : dom/src/threads/test/test_recursion.html => dom/workers/test/test_recursion.html
rename : dom/src/threads/test/test_relativeLoad.html => dom/workers/test/test_relativeLoad.html
rename : dom/src/threads/test/test_simpleThread.html => dom/workers/test/test_simpleThread.html
rename : dom/src/threads/test/test_suspend.html => dom/workers/test/test_suspend.html
rename : dom/src/threads/test/test_terminate.html => dom/workers/test/test_terminate.html
rename : dom/src/threads/test/test_threadErrors.html => dom/workers/test/test_threadErrors.html
rename : dom/src/threads/test/test_threadTimeouts.html => dom/workers/test/test_threadTimeouts.html
rename : dom/src/threads/test/test_throwingOnerror.html => dom/workers/test/test_throwingOnerror.html
rename : dom/src/threads/test/test_xhr.html => dom/workers/test/test_xhr.html
rename : dom/src/threads/test/test_xhrAbort.html => dom/workers/test/test_xhrAbort.html
rename : dom/src/threads/test/threadTimeouts_worker.js => dom/workers/test/threadTimeouts_worker.js
rename : dom/src/threads/test/xhr_worker.js => dom/workers/test/xhr_worker.js
2011-07-28 18:10:31 -07:00
Jason Orendorff
c4f527861a
Merge from mozilla-central to jsdbg2.
2011-07-28 13:45:51 -05:00
Brian Hackett
beb3e0531e
[INFER] Reduce inference-related script overhead, bug 674609.
2011-07-28 09:16:53 -07:00
Jason Orendorff
75a71f51e8
Merge from mozilla-central to jsdbg2 branch.
2011-07-27 18:23:16 -05:00
Jason Orendorff
722572a323
Rename jsdbg.{h,cpp} to vm/Debugger.{h,cpp}. This addresses a review comment from brendan in bug 627829 comment 42.
...
--HG--
rename : js/src/jsdbg.cpp => js/src/vm/Debugger.cpp
rename : js/src/jsdbg.h => js/src/vm/Debugger.h
2011-07-27 18:03:34 -05:00
Igor Bukanov
907a4b7654
bug 673795 - part2, using lists of avaiulable chunks for faster chunk selection. r=wmccloskey
...
--HG--
extra : rebase_source : ae4f5a82bc4042e341fdb5c08e3f0fe4b4ae8935
2011-07-26 09:55:23 +02:00
Jason Orendorff
0a4b0df2c1
Address review comments from brendan (bug 627829 comment 35).
2011-07-22 10:54:36 -05:00
Brian Hackett
dda30fa4b2
Merge MC -> JM
2011-07-21 18:53:37 -07:00
Brian Hackett
6cedc75bac
[INFER] Make TypeObject a GC thing, remove lazily created type objects on GC, bug 669969.
2011-07-21 07:28:01 -07: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
Bill McCloskey
e41d5f10b1
Bug 671113 - Poison JSScripts when freed to get more crash data (r=dmandelin)
2011-07-19 14:21:58 -07:00
Jason Orendorff
052fe6b23a
In JSCompartment::sweepBreakpoints, enumerate the breakpoints safely instead of reading freed memory.
2011-07-18 16:57:39 -05:00
Jason Orendorff
671bbf0bb1
Merge mozilla-central to jsdbg2.
2011-07-18 10:58:56 -05:00
Brian Hackett
89a7a7eac5
Merge MC -> JM
2011-07-15 14:40:15 -07:00
Brian Hackett
c091101935
[INFER] Lazily create type objects for singleton JS objects, bug 670185.
2011-07-15 10:14:07 -07:00
David Mandelin
0f81026221
Bug 605290: check for null globalObject before innerizing, r=luke
2011-07-13 16:47:10 -07:00
Bill McCloskey
fd629a392b
Bug 661903 - Move script filename table to compartment (r=igor)
2011-07-14 16:02:12 -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
e0c7a11c50
[INFER] Fix build breaks with --disable-methodjit.
2011-07-05 16:52:39 -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
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
Kyle Huey
d3e7553ab9
Mass revert m-i to the last known good state
2011-07-13 18:22:33 -07:00
David Mandelin
1fdf7dccd7
Bug 605290: Check for null cx->globalObject, r=luke
2011-07-13 16:47:10 -07:00
Brian Hackett
1186d01428
Merge TM -> JM
2011-06-06 09:48:04 -07:00
Brian Hackett
b0ae81df4a
[INFER] Apply arguments and script review comments, bug 657412.
2011-06-06 08:32:41 -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
Jason Orendorff
fcfd80cfc5
Merge from TM. Huge merge. Stack changes from bug 656462.
2011-06-15 16:14:09 -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
5c5438cc38
Merge TM -> JM
2011-06-02 12:59:28 -07:00
Brian Hackett
58811dfa16
[INFER] Address array review comments, add back backedge table, bug 657412.
2011-06-01 11:15:51 -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
Igor Bukanov
3e2ef6c4ef
bug 656261 - better GC arena layout. r=wmccloskey
2011-05-19 21:01:08 +02:00
Brian Hackett
131bcf7ab2
[INFER] Disable inference and infallibly discard jitcode on OOM, bug 637674.
2011-05-18 12:34:17 -07:00