Nicolas Pierron
687329b7b8
Bug 744670 - Port StackIter modification of IonMonkey. r=luke
2012-04-13 13:45:01 -07:00
David Mandelin
905c0f1adb
Bug 739808: Remove method cloning optimization and method barrier, r=luke
...
--HG--
extra : rebase_source : d383c3704c3efd08f9fbf1324433a94fc4a8dbb8
2012-03-23 17:59:56 -07:00
Igor Bukanov
5542df3342
bug 730221 - delegating serialization of script principals to the embedding. r=:luke,:bz
...
Currently to serialize principals stored in JSScript we have a rather complex
schema. First there is the transcode callback that the embedding must provide
to transcode principals using XDR API. Second we use rather complex glue code
to implement that callback in terms of writing/reading nsIObjectOutputStream/
nsIObjectInputStream. This glue code is duplicated in 3 places. All this can
be avoided if we simply delegate transcoding of principals to the caller. In
addition, at least in the case of the cached startup scripts we do not even
need to transcode the principals as the the cached scripts always have the
system principal so we can skip all the transcode complexity there.
The patch implemnts this idea. In particular, the code in JS engine
responsible for transcoding of principals is replaced by the single API
function JS_XDRSetPrincipals that the embedding can use to set principals for
decoded scripts and functions. Then the startup cache uses this to set the
principals for the decoded script to the system principals. The other two
places in nsJSContext::Serialize and XBL_SerializeFunction that need to
serialize principals together with a function or script now uses common
utilities in nsXPConnect so the serialization complexity resides in the single
place.
2012-02-13 14:10:04 +01:00
David Anderson
47563b2221
Remove JS_GetScriptedCaller (bug 732652, r=luke,mrbkap,bholley,smaug,bent).
2012-03-06 15:33:12 -08:00
David Mandelin
60e80d55b6
Bug 730511: remove obsolete typedefs intN, uintN, r=luke
2012-02-28 15:11:11 -08:00
Igor Bukanov
bb69258364
bug 730987 - remove per-context debug hooks. r=luke
2012-02-28 11:54:40 +01:00
Luke Wagner
f5e853cb76
Bug 692269 - Remove jsstr.h, vm/String.h, jsautokw.h, jsclone.h, jsopcode.tbl, jsopcode.h, jsstdint.h from INSTALLED_HEADERS (r=billm)
...
--HG--
extra : rebase_source : f9e20f1d52987251ad3d58c76531dcd5135076ad
2012-01-30 09:17:38 -08:00
Jeff Walden
e1e013efb8
Bug 723249 - Implement a dump() function on JSString, JSAtom, and JSObject, for easier typing than js_Dump*. Also implement JSString::equals. r=luke
...
--HG--
extra : rebase_source : 0bb078d0ded8aa52753261605bc72a5eef45e65e
2012-01-31 18:03:41 -08:00
Ms2ger
2ebe58f6e7
Bug 714728 - Remove jsword/jsuword in favour of intptr_t/uintptr_t; r=Waldo
2012-01-11 09:23:05 +01:00
Bobby Holley
9f17b789c2
Bug 715417 - Eliminate getPrincipalArray and globalPrivilegesEnabled from JSPrincipals. r=mrbkap
2012-01-06 17:29:02 -08:00
Jeff Walden
476c7d19c5
Bug 708735 - Use <stdint.h> types in JSAPI and throughout SpiderMonkey. Continue to provide the {u,}int{8,16,32,64} and JS{Uint,Int}{8,16,32,64} integer types through a single header, however, for a simpler backout strategy -- and also to ease the transition for embedders. r=timeless on switching the jsd API to use the <stdint.h> types, r=luke, r=dmandelin
2011-12-08 22:54:10 -05:00
Luke Wagner
a5fc0b3da5
Bug 624621 - Allow embeddings to attach an extra 'origin' principal to scripts (r=mrbkap)
...
--HG--
extra : rebase_source : 85ed15c9f230bc342e7810e62abace18a7177c4b
2011-06-27 17:42:53 -07:00
Brian Hackett
998e1208e3
Don't try to correlate scripts with functions in JSD interface, bug 707613. r=luke
2011-12-07 13:41:27 -08:00
Brian Hackett
4e750df483
Remove JSOP_TRAP, bug 707454. r=jorendorff
2011-12-07 13:15:48 -08:00
Brian Hackett
f0c35c0584
Merge MC -> JM
2011-12-03 10:34:26 -08:00
Brian Hackett
e970326d58
Add API for JSD to get the parent of a scope object, no bug.
2011-11-28 07:43:31 -08:00
Brian Hackett
c3b9744976
Merge MC -> JM
2011-11-26 15:03:20 -08:00
Steve Fink
5e5f0351b2
Bug 702740 - Add JS_SetFunctionCallback to JSAPI proper (still gated on --enable-trace-jscalls). r=luke
...
--HG--
extra : rebase_source : 1d77493b4a5a39bf1b2c615f13d77021324ea6d2
2011-12-01 11:25:37 -08:00
Brian Hackett
cc15146e95
Merge MC -> JM
2011-11-14 09:13:33 -08:00
Brian Hackett
a145bef354
Add type behavior info to script PC counts, bug 691788. r=sfink
2011-11-10 12:34:24 -08:00
Brian Hackett
d64dce75db
Merge MC -> JM
...
--HG--
rename : js/src/jsparse.cpp => js/src/frontend/BytecodeCompiler.cpp
rename : js/src/jsparse.h => js/src/frontend/BytecodeCompiler.h
rename : js/src/jsemit.cpp => js/src/frontend/BytecodeGenerator.cpp
rename : js/src/jsemit.h => js/src/frontend/BytecodeGenerator.h
rename : js/src/jsparse.cpp => js/src/frontend/FoldConstants.cpp
rename : js/src/jsparse.cpp => js/src/frontend/ParseNode.cpp
rename : js/src/jsparse.h => js/src/frontend/ParseNode.h
rename : js/src/jsparse.cpp => js/src/frontend/Parser.cpp
rename : js/src/jsparse.h => js/src/frontend/Parser.h
rename : js/src/jsregexpinlines.h => js/src/vm/RegExpObject-inl.h
rename : js/src/jsregexp.cpp => js/src/vm/RegExpObject.cpp
rename : js/src/jsregexp.h => js/src/vm/RegExpObject.h
rename : js/src/xpconnect/src/xpcjsruntime.cpp => js/xpconnect/src/XPCJSRuntime.cpp
rename : js/src/xpconnect/src/xpcquickstubs.cpp => js/xpconnect/src/XPCQuickStubs.cpp
rename : js/src/xpconnect/src/nsXPConnect.cpp => js/xpconnect/src/nsXPConnect.cpp
2011-10-19 14:26:08 -07:00
Brian Hackett
99df9202c3
Remove JSObject::capacity and JSObject::initializedLength, split JSObject::slots into slots and elements, bug 693221.
2011-10-10 11:41:03 -07:00
Brian Hackett
e89780c40d
Remove jsobj.h from installed headers, bug 690943. r=luke
2011-10-04 07:06:54 -07:00
Luke Wagner
ff185699a3
Bug 632064 - remove JS_GetScopeChain (r=mrbkap)
...
--HG--
extra : rebase_source : dcaab70f180d23ad3e9cd12c2d84d326b012fbb2
2011-09-28 17:57:27 -07:00
David Anderson
df566990d3
Remove LeaveTrace and related structures (bug 698201 part 5, r=luke).
2011-11-22 17:41:43 -05:00
Luke Wagner
a1f9b8a260
Bug 690645 - Make AutoScriptUntrapper not massively break invariants; tidy up decompiler a bit (r=waldo)
...
--HG--
extra : rebase_source : ebf821635c9be7e5c9fd9eacbbb9a6c762432e56
2011-10-04 10:48:35 -07:00
Igor Bukanov
9dc4e22f8a
bug 678830 - Use JSScript, not script objects, in compile/evaluate API. r=jorendorff
2011-09-02 08:46:00 +02:00
Jim Blandy
fab58c0d9c
Bug 673125: Have each JSScript maintain both a count and a flag indicating whether it should be in single-step mode. r=jorendorff.
...
The rationale is explained in the comments in jsscript.h.
2011-08-23 14:44:22 -05:00
Jason Orendorff
98bf4dad58
Back out 7196b000f9df (bug 673125 part 2).
2011-08-23 15:34:59 -05:00
Jim Blandy
0cf47b01d9
Bug 673125: Have each JSScript maintain both a count and a flag indicating whether it should be in single-step mode. r=jorendorff.
...
The rationale is explained in the comments in jsscript.h.
--HG--
extra : rebase_source : 0d537b172ce70c049269b1f09380f0eeabec9c92
2011-08-23 14:44:22 -05:00
Steve Fink
93cd3119ac
Bug 673631 - Clean up probes and register (almost) all profiler control entry points in JS_DefineProfilingFunctions (r=luke,waldo,jst)
...
Previously, JS_DefineProfilingFunctions only defined a very basic set of
functions (startProfiling and stopProfiling), and various scattered places
added more specific ones (start/stop vtune, dumpProfile, etc.) This patch makes
jsdbgapi do all of it, so that all users get the same set.
Also rename JS_DumpProfile -> JS_DumpBytecode to avoid name conflict. The
bytecode dumps are how the counters ("profiles") are displayed, so the
DumpProfile name was bogus anyway.
--HG--
extra : rebase_source : 2d3e626ef43ac41c6da401a779775a63fc96a427
2011-07-26 15:56:09 -07:00
Jason Orendorff
0cc8abb074
Merge from mozilla-central to jsdbg2.
2011-08-01 17:46:33 -05:00
Jason Orendorff
c4f527861a
Merge from mozilla-central to jsdbg2.
2011-07-28 13:45:51 -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
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
Nick Fitzgerald
9098b89abc
Bug 674283 - Add source map urls to JSScript. r=jorendorff.
2011-07-29 10:44:45 -05: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
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
fcfd80cfc5
Merge from TM. Huge merge. Stack changes from bug 656462.
2011-06-15 16:14:09 -05:00
Jason Orendorff
0305e45450
Merge from tracemonkey to jsdbg2.
2011-05-25 17:52:35 -05: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
Jim Blandy
f629983808
merge tm
2011-04-18 09:18:20 -07:00
Jason Orendorff
372f84a7c1
Add an empty Debug constructor into the shell and a JS_DefineDebugObject function to jsdbgapi.h.
2011-04-14 13:41:31 -07:00
Steve Fink
f944ff55d2
Bug 637393 - Add JS_DumpProfile, JS_DumpAllProfiles to disassemble one or all scripts' along with execution counts of each op
...
--HG--
extra : rebase_source : 58afddcf73ded6505fabe3ef42495faa5cb6915a
2011-05-10 11:26:39 -07:00
Luke Wagner
64207228c7
Bug 602994 - Clean up eval, remove unneeded security checks, assert equivalence of principal lookup (r=waldo,mrbkap)
2011-04-08 10:52:51 -07:00
Jason Orendorff
953a8d71f6
Bug 645160 - jsdIStackFrame is incorrectly truncated at indirect eval calls. r=mrbkap.
2011-05-11 11:11:40 -05:00
Steve Fink
715faebf0e
Bug 638178 - Add jsdIScript.getExecutableLines for fast identification of breakable lines (r=timeless)
...
--HG--
extra : rebase_source : a7d66e9ec47ccedfdf1abc3c1d339629c7eb5f3d
2011-03-03 10:11:54 -08:00
Steve Fink
093e050f1b
Backout 8d39d7a5b85c
2011-05-24 16:53:07 -07:00
Steve Fink
baaa9a6514
Bug 638178 - Add jsdIScript.getExecutableLines for fast identification of breakable lines (r=timeless)
2011-03-03 10:11:54 -08:00