Commit Graph

219 Commits

Author SHA1 Message Date
Jeff Walden
ce22e935f0 Bug 790349 - Allow atoms to be referred to by |cx->names().foo| where |foo| is the text of the atom (except in cases where the text of the atom isn't a C++ identifier). r=jorendorff
--HG--
extra : rebase_source : dcd3f2af4b9e9f9ea0fc98cd4f5ad3559cde4358
2012-09-10 13:27:19 -07:00
Jeff Walden
a546087964 Bug 789635 - Clean up JSAtomState so that all atom fields are macro-defined, and move the atoms set into JSRuntime directly. r=jorendorff
--HG--
extra : rebase_source : ed461a1092fde477a199499e4519885598be7079
2012-09-06 13:48:40 -07:00
Jeff Walden
4a03fff300 Bug 789635 - Convert the prototype list into a higher-order macro, to facilitate easier use of it in other higher-order macros. r=jorendorff
--HG--
extra : rebase_source : 07457587091f60e788a8bddf577514069177b217
2012-09-07 14:42:33 -07:00
Jeff Walden
f0306c6359 Backed out changeset b6855b090307, possible memory leak. r=graphserver
--HG--
extra : rebase_source : f7e5b460f3c96ee74a0ba2abbd122c436e134063
2012-09-17 15:11:24 -07:00
Jeff Walden
1a9be94bdf Backed out changeset 17d36418f4d6, possible memory leak. r=graphserver
--HG--
extra : rebase_source : ce0a13c66211ad536eca08722cf15b2214e0d8da
2012-09-17 15:10:47 -07:00
Jeff Walden
52c123e54c Backed out changeset 2cdc9370922f, possible memory leak. r=graphserver
--HG--
extra : rebase_source : 465017bdf909f3fa390e2e676b3421a75c6f5b04
2012-09-17 15:06:58 -07:00
Jeff Walden
7816643d7f Backed out changeset cf239b55242a, possible memory leak. r=graphserver
--HG--
extra : rebase_source : 5dc4920582bd2e73e7fa3346ba7b4ec8148a9d0c
2012-09-17 15:06:16 -07:00
Jeff Walden
d6e3e21556 Bug 790349 - Make JSAtomState store FixedHeapPtr<PropertyName> so that cached-name uses don't have to be rooted. r=jorendorff
--HG--
extra : rebase_source : f9113497185b3404415603da4fc8c43125d9052c
2012-09-10 20:42:08 -07:00
Jeff Walden
9641f5c879 Bug 790349 - Allow atoms to be referred to by |cx->names().foo| where |foo| is the text of the atom (except in cases where the text of the atom isn't a C++ identifier). r=jorendorff
--HG--
extra : rebase_source : b07052fa40f006d22f0fbd584ab0a28507cae1d3
2012-09-10 13:27:19 -07:00
Jeff Walden
d892582d8e Bug 789635 - Clean up JSAtomState so that all atom fields are macro-defined, and move the atoms set into JSRuntime directly. r=jorendorff
--HG--
extra : rebase_source : 83316d60be6a58b5a4b51058331068bf68ec0626
2012-09-06 13:48:40 -07:00
Jeff Walden
b89a5856a7 Bug 789635 - Convert the prototype list into a higher-order macro, to facilitate easier use of it in other higher-order macros. r=jorendorff
--HG--
extra : rebase_source : 7adb1efe9f87467767ea498b85182b7e6aa7cf17
2012-09-07 14:42:33 -07:00
Luke Wagner
b73ff50165 Bug 787291 - add pod_malloc<T> et al (r=billm) 2012-08-31 15:10:10 -07:00
Luke Wagner
002cf7abaa Bug 787246 - rm OffTheBooks/Foreground/UnwantedForeground gunk (r=billm) 2012-08-31 15:01:33 -07:00
Luke Wagner
18c0268620 Bug 625199 - kill dummy frames (r=mrbkap)
--HG--
extra : rebase_source : df4e3bddabf20cdc5b9122370fa62b40e64177c7
2012-08-17 18:05:06 -07:00
Jon Coppeard
74c3890d5f Bug 782993 - Part 2: Tidy unused parts of FreeOp r=billm 2012-08-21 09:58:30 +01:00
Jon Coppeard
f877c852d1 Bug 782315 - GC: Cut out unnecessary work when not collecting atoms r=billm 2012-08-14 11:10:45 +01:00
Brian Hackett
351f5c5702 Add various autorooting, bug 772303. r=terrence 2012-08-12 19:50:49 -06:00
Terrence Cole
a81284ed33 Bug 780309 - Move atom methods into js namespace; r=luke
This is a simple cleanup of jsatom.h.

--HG--
rename : layout/reftests/svg/pattern-scale-01c.svg => layout/reftests/svg/pattern-scale-01a.svg
extra : rebase_source : 8f656ab55c593a76ce91222c4306a4206708a77f
2012-08-08 14:02:30 -07:00
Nicholas Nethercote
d05b248e0f Bug 647367 - Sequester jshash.{h,cpp} in js/jsd/ (attempt 2). r=luke.
--HG--
rename : js/src/jshash.cpp => js/jsd/jshash.cpp
rename : js/src/jshash.h => js/jsd/jshash.h
2012-07-18 17:38:10 -07:00
Brian Hackett
ffc948bbbe Use HandleValue and MutableHandleValue in API hooks where possible, bug 776579. r=billm, sr=dmandelin 2012-07-30 05:19:09 -06:00
Jason Orendorff
679a92c077 Bug 770854 - Put frontend code in the frontend namespace. r=njn. 2012-07-09 13:54:28 -05:00
Ryan VanderMeulen
d992f8c567 Backout 61d052e202c8 (bug 647367) due to Windows bustage. 2012-07-18 22:33:41 -04:00
Nicholas Nethercote
8e95c82325 Bug 647367 - Sequester jshash.{h,cpp} in js/jsd/. r=luke.
--HG--
rename : js/src/jshash.cpp => js/jsd/jshash.cpp
rename : js/src/jshash.h => js/jsd/jshash.h
extra : rebase_source : 22311241bc356e2c724c28f4199cfa8008d594a9
2012-07-18 17:38:10 -07:00
Jeff Walden
f63db7ff7f Bug 765341 - Change js_ValueToAtom to return a JSAtom* directly, and rename it to js::ToAtom. r=sfink
--HG--
extra : rebase_source : 44f039cd09ac2ab1825e7f9fd1e2a01f5907bb67
2012-06-12 16:03:10 -07:00
Terrence Cole
8543692492 Bug 730933 - Make IsAboutToBeFinalized indirect; r=billm
This additionally moves the interface into js::gc:: and renames it to
CheckFooMarked.

--HG--
extra : rebase_source : cbe66c7219cfc637f8655e3356040e532252183a
2012-05-23 10:34:29 -07:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Tom Schuster
55fd8ff0a0 Bug 673499 - remove some trailing whitespace from js/src. r=jorendorff 2012-05-19 21:56:17 +02:00
Nicholas Nethercote
4a1242fee5 Bug 754179 - Remove some dead front-end code. r=jorendorff.
--HG--
extra : rebase_source : 6483ba3654782181b89fb5ac3c8f352929efbaa7
2012-05-16 18:12:47 -07:00
Bill McCloskey
e0fc180960 Bug 743879 - Eliminate lazy atoms (r=Waldo) 2012-05-07 10:13:04 -07:00
Bill McCloskey
939bc668ca Bug 743879 - Backout for build errors (r=bustage) 2012-05-07 10:27:10 -07:00
Bill McCloskey
b084713e6c Bug 743879 - Eliminate lazy atoms (r=Waldo) 2012-05-07 10:13:04 -07:00
Brian Hackett
3e6dfb0349 Disallow non-canonical jsids, bug 751331. r=luke 2012-05-06 13:45:19 -07:00
Terrence Cole
83449f6079 Bug 750547 - Remove unused dead branch in js_AtomizeString; r=Waldo
--HG--
extra : rebase_source : e063dae5c05d8da3687e7ce73465e74a49067ccb
2012-04-30 16:20:10 -07:00
Jeff Walden
bc60b350a5 Bug 750907 - Move the marking declarations out of jsgcmark.h and into a header with minimal dependencies. r=billm
--HG--
rename : js/src/jsgcmark.cpp => js/src/gc/Marking.cpp
rename : js/src/jsgcmark.h => js/src/gc/Marking.h
extra : rebase_source : 3eb96a33102f0b76438dbb79ecb46e817bc1b767
2012-05-01 14:30:18 -07:00
Matt Brubeck
6772a57f47 Back out 682bf201edde, ef35ba222ac8, and 6a20cf61289d (bug 750907, bug 751003, bug 751377) because of build failure on a CLOSED TREE
--HG--
rename : js/src/gc/Marking.cpp => js/src/jsgcmark.cpp
rename : js/src/gc/Marking.h => js/src/jsgcmark.h
2012-05-03 14:55:52 -07:00
Jeff Walden
2044564243 Bug 750907 - Move the marking declarations out of jsgcmark.h and into a header with minimal dependencies. r=billm
--HG--
rename : js/src/jsgcmark.cpp => js/src/gc/Marking.cpp
rename : js/src/jsgcmark.h => js/src/gc/Marking.h
extra : rebase_source : 2829c44da4316ceb6af0f4627158e337dd6ba28a
2012-05-01 14:30:18 -07:00
Ehsan Akhgari
1f46a45045 Merge mozilla-central into mozilla-inbound on a CLOSED TREE 2012-05-02 21:52:33 -04:00
Luke Wagner
28cc1f08ca Bug 749617 - rm XDRState::codeString (r=njn,a=not-libxul)
--HG--
extra : rebase_source : de4e8eba904cd44a7b3d99edd85d841a359b83d5
2012-05-01 14:01:06 -07:00
Brian Hackett
0079174207 Get rooting analysis to pass jit-tests in the interpreter, bug 745742. r=billm 2012-04-30 17:10:30 -07:00
Terrence Cole
e6cabfa3d1 Bug 743047 - Make the script atoms HeapPointers; r=billm
These are only initialized and then read from, but we need to barrier the init
so that we will have a remembered set entry for atoms that are in the nursery.

--HG--
extra : rebase_source : 9a5a1eb3e0c76d4624a978627ff901d336b0c540
2012-04-05 15:54:57 -07:00
Bill McCloskey
1eff4f5687 Bug 739899 - Eliminate the distinction between full and compartment GCs (r=igor) 2012-04-02 18:29:11 -07:00
Igor Bukanov
45bee87157 Bug 737365 - stop using the cx during finalization, part 3.
This part removes the usage of JSContext* during the finalization and
when sweeping the compartments. That required to change quite a few
methods in type inference, jit and debugger implementation to take a
FreeOp rather than JSContext pointer. In turn that also often required
to replace cx->compartment usage with extracting the compartment from
the passed objects or pass the compartment explicitly. On the plus side
it allowed to remove fallible compartment enter code in methods that
could be called during finalization.
2012-03-20 11:22:05 +01:00
Igor Bukanov
83623b313c Bug 737365 - stop using the cx during finalization, part 1.
This part changes the signatures for various finalization API to take
not JSContext* but rather either JSFreeOp structure or its
library-private counterpart FreeOp. These structures wrap parameters
that are passed to the finalizers removing most of explicit dependencies
on JSContext in the finalization code.
2012-03-19 15:34:55 +01:00
Igor Bukanov
7296e0408c 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
766a2b3244 Backed out changeset 30798fdc5bad 2012-03-24 12:33:30 +01:00
Igor Bukanov
f8a4496d31 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
8775c56114 Backed out changeset f33e1e959036; r=bustage 2012-03-24 11:04:34 +01:00
Igor Bukanov
8e97874303 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
Jim Blandy
d3ae4a11e2 Bug 734454: Use a table to declare atoms. r=waldo 2012-03-16 16:15:31 -07:00
Jim Blandy
d437ab862a Bug 734454: Minor cleanups to atom declarations and definitions, in preparation for conversion to a table. r=waldo 2012-03-16 16:15:31 -07:00