Commit Graph

788 Commits

Author SHA1 Message Date
Igor Bukanov
77f4a42ed3 bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
extra : rebase_source : f8f1536a86b7c3fe7296a16b6677bd21664af98a
2012-02-20 11:58:00 +01:00
Dão Gottwald
63ed9dae81 Backed out changeset 30798fdc5bad 2012-03-24 12:33:30 +01:00
Igor Bukanov
24b01abf6b bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
2012-02-20 11:58:00 +01:00
Ms2ger
198867ded9 Backed out changeset f33e1e959036; r=bustage 2012-03-24 11:04:34 +01:00
Igor Bukanov
7226b2e716 bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
2012-02-20 11:58:00 +01:00
Mark Capella
08d7239a5d Bug 734023 - Remove language arguments from nsIScriptGlobalObject methods, r=jst, f=ms2ger 2012-03-23 18:13:29 +01:00
Andrew McCreight
59385f3d50 Bug 737060 - don't traverse nsXULTemplateBuilder with observed document. r=bent 2012-03-22 08:37:18 -07:00
Henri Sivonen
3dfb9fb844 Bug 737417 part 1 - Split charset source constants out of nsIParser.h. r=smaug. 2012-03-22 16:42:42 +02:00
Nathan Froyd
59ce138419 Bug 732167 - Eliminate duplicate headers in content. r=mounir 2012-03-06 13:55:37 -05:00
Justin Lebar
064e2cf3f9 Bug 729940 - Part 2: Stop using crappy hash functions in Gecko. r=bz
--HG--
extra : rebase_source : 6fa267a89878cc1a766d8618569debcea9b12e48
2012-03-12 18:53:18 -04:00
Ms2ger
fdc871b475 Bug 734473 - Remove nsIScriptContext::FinalizeContext; r=jst 2012-03-11 09:51:22 +01:00
Masatoshi Kimura
fa603ed1e3 Bug 705110 - Suppress warning spam on DOMAttrModified event. r=smaug 2012-02-27 18:57:28 -05:00
Henri Sivonen
95c3b0eac7 Bug 650784 part 0 - Fold nsParserUtils into nsContentUtils. r=smaug. 2012-02-27 13:57:48 +02:00
Andrew McCreight
d88682ebb4 Bug 729401 - use global before we null it out in ~nsXULTemplateBuilder. r=bent 2012-02-24 08:49:23 -08:00
Matthew Schranz
62d6dff935 Bug 698381 - Make Node.cloneNode aDeep argument optional, default to true. r=smaug 2012-02-23 14:23:30 +01:00
Igor Bukanov
fc29d0f64c bug 726944 - Remove JSClass::xdrObject and related functionality. r=luke 2012-02-13 09:02:21 +01:00
Brian Birtles
8703bcb41f Bug 629200 part 3 - Make AfterSetAttr take an nsAttrValue; r=bz 2012-02-14 11:00:56 +09:00
Brian Birtles
8e36f98441 Bug 629200 part 2 - Make BeforeSetAttr take an nsAttrValue; r=bz 2012-02-14 11:00:56 +09:00
Igor Bukanov
748c9f34a7 bug 724310 - drop cx argument from JSObject field and fixed slots infallible API. r=:Waldo
--HG--
extra : rebase_source : b78519db2ff008eb5143676d2db47935f0e89f45
2012-02-05 21:07:23 +01:00
Igor Bukanov
38fe4ed717 backout merge for bug 724310. r=irc 2012-02-09 21:28:22 +01:00
Igor Bukanov
e4e3433d0c bug 723517 - drop cx argument from JSObject field and fixed slots infallible API. r=:Waldo
--HG--
extra : rebase_source : c461dfc0e0e0462ab262cc01c2a771d3bb0971cc
2012-02-05 21:07:23 +01:00
Panagiotis Koutsourakis
583eb38038 Bug 702388 - Convert Makefiles to use |TEST_DIRS += foo| r=khuey
Files named Makefile.in containing the expression

DIRS += <foo>
or
DIRS = <foo>

inside the conditional expression

ifdef ENABLE_TESTS
...
endif

are changed to

TEST_DIRS += tests

outside any conditional expression.

The files

./layout/Makefile.in
./layout/Makefile.in
./layout/style/Makefile.in
./rdf/Makefile.in
./security/manager/Makefile.in
./content/Makefile.in
./content/smil/Makefile.in
./content/xul/templates/Makefile.in
./content/xul/content/Makefile.in
./content/base/Makefile.in
./content/media/Makefile.in
./parser/htmlparser/Makefile.in
./dom/sms/Makefile.in
./js/jsd/Makefile.in
./js/xpconnect/Makefile.in
./widget/Makefile.in
./widget/windows/Makefile.in
./Makefile.in
./startupcache/Makefile.in
./storage/Makefile.in
./gfx/Makefile.in
./intl/strres/Makefile.in
./intl/uconv/Makefile.in
./intl/unicharutil/Makefile.in
./intl/lwbrk/Makefile.in
./embedding/Makefile.in
./modules/libjar/Makefile.in
./modules/libpref/Makefile.in
./build/Makefile.in
./build/win32/Makefile.in
./xpcom/Makefile.in
./extensions/spellcheck/hunspell/Makefile.in
./extensions/cookie/Makefile.in
./netwerk/Makefile.in
./netwerk/streamconv/Makefile.in
./editor/txmgr/Makefile.in
./toolkit/mozapps/shared/Makefile.in
./toolkit/mozapps/update/Makefile.in
./toolkit/library/Makefile.in
./toolkit/library/Makefile.in
./toolkit/crashreporter/Makefile.in
./toolkit/components/perf/Makefile.in
./toolkit/components/perf/Makefile.in
./toolkit/components/feeds/Makefile.in
./toolkit/components/url-classifier/Makefile.in

contain the string

ifdef ENABLE_TESTS

but have some other statement inside (e.g. TOOL_DIRS += <foo> etc) and
they remain unchanged by this patch.
2012-02-04 17:32:24 +00:00
Andrew McCreight
4d058d5e0d Bug 720292 - add more cycle collector edge names. r=smaug 2012-01-23 15:25:53 -08:00
Henri Sivonen
556cef528f Bug 714777 - Refactor fragment parsing out of nsHtml5Parser. r=smaug. 2012-01-20 13:16:27 +02:00
Ms2ger
db00645596 Bug 677079 - Part g: Expose VersionSetXML in jsfriendapi.h; r=bhackett 2012-01-15 09:13:08 +01:00
Ehsan Akhgari
7c5c91dfb4 Bug 717154 - Make sure the focus handler is only run once in order to avoid the intermittent orange; r=bzbarsky 2012-01-11 13:11:22 -05:00
Bobby Holley
92e001c11a Bug 713747 - Remove usage of UniversalFoo in gecko. r=bz 2011-12-30 09:35:39 -08:00
Olli Pettay
ba414d54f2 Bug 713865 - Don't traverse XBL and XUL protos so much, r=bent 2011-12-29 16:34:05 +02:00
Ms2ger
e55f25e5ac Bug 698420 - Make nsScriptObjectHolder typesafe; r=bz 2011-12-18 11:05:12 +01:00
Matthew Schranz
5eb12bc3ef Bug 334573 - Renamed all references of nsPLDOMEvent to nsAsyncDOMEvent. r=sicking
--HG--
rename : content/events/public/nsPLDOMEvent.h => content/events/public/nsAsyncDOMEvent.h
rename : content/events/src/nsPLDOMEvent.cpp => content/events/src/nsAsyncDOMEvent.cpp
2011-12-17 01:02:05 -05:00
Masatoshi Kimura
26a3901298 Bug 704820 - Simplify nsContentUtils::ReportToConsole. r=smaug 2011-12-15 14:47:03 +00:00
Jan Bambach
1984c5a018 Bug 707677 - Use defaultPrevented instead of the deprecated getPreventDefault() in front-end code. r=dao 2011-12-08 10:21:32 +01:00
Masayuki Nakano
5b6d43ea11 Bug 665677 test_bug330705-2.xul should ensure that the first box gets focus before doing test r=smaug 2011-12-08 09:58:26 +09:00
Ms2ger
20adc6aedf Bug 705434 - Remove dead code: nsXULDocument::ContextStack::IsInsideXULTemplate; r=jst 2011-12-03 22:50:17 +01:00
Ms2ger
f29709a5a1 Bug 705433 - Remove dead code: TestNode::HasAncestor; r=jst 2011-12-03 22:50:17 +01:00
Ms2ger
62e976e8ba Bug 698406 - Make nsXULPrototypeAttribute::mEventHandler a JSObject; r=sicking 2011-11-26 11:18:51 +01:00
Ms2ger
d58cd62735 Bug 696604 - Remove nsIScriptContext::CompileScript's aScopeObject parameter; r=peterv 2011-11-16 08:50:19 +01:00
Ms2ger
bfdd6b6239 Bug 698261 - Remove the aElementType argument of NS_NewElement; r=bz 2011-11-16 08:50:19 +01:00
Ms2ger
bb1ee74b88 Bug 696660 - Outparamdel nsIScriptRuntime::CreateContext; r=mrbkap 2011-11-16 08:50:19 +01:00
Ed Morley
7bc582f20f Backout 4997c6f8b24d (bug 616542) for causing locally run mochitest-browser-chrome test runs to fail 2011-11-05 18:35:59 +00:00
Rail Aliiev
8a56fd9db2 Bug 616542 - Shorten file path length of mochitest; r=ted 2011-11-04 21:13:42 +00:00
Ms2ger
46522f17ea Bug 697210 - Part c: Remove nsIDocument::CreateElem's aDocumentDefaultType argument; r=bz 2011-10-29 22:21:20 +02:00
Ms2ger
a505598085 Bug 697210 - Part a: Make nsIDocument::GetDefaultNamespaceID non-virtual and have it return mDefaultElementType; r=bz 2011-10-29 22:20:37 +02:00
Ms2ger
0d733678a5 Bug 694867 - Part e: Pass JSScript to nsXULDocument::ExecuteScript; r=volkmar 2011-10-29 22:14:26 +02:00
Ms2ger
974dc34150 Bug 694867 - Part d: Store a JSScript in nsXULPrototypeCache; r=volkmar 2011-10-29 22:14:13 +02:00
Ms2ger
78ba91f3a8 Bug 694867 - Part c: Return a JSScript from nsXULPrototypeCache::GetScript; r=volkmar 2011-10-29 22:13:55 +02:00
Ms2ger
e566d3ad18 Bug 694867 - Part b: Pass a JSScript to nsXULPrototypeScript::Set; r=volkmar 2011-10-29 22:13:31 +02:00
Ms2ger
6bc6ac23b6 Bug 694867 - Part a: Pass a JSScript to nsIScriptContext::Serialize and store a JSScript in nsXULPrototypeScript::ScriptObjectHolder::mObject; r=volkmar 2011-10-29 22:12:47 +02:00
Ms2ger
c4446bc22d Bug 694769 - Remove nsIScriptContext::GetScriptGlobal in favour of GetGlobalJSObject; r=smaug 2011-10-29 22:09:04 +02:00
Ms2ger
2da2151a18 Bug 694759 - Make nsIScriptContext::GetNativeGlobal return JSObject; r=jst 2011-10-29 22:06:17 +02:00