Commit Graph

333 Commits

Author SHA1 Message Date
Terrence Cole
88f9bc5932 Bug 1178581 - Interning does not and should not imply infinite lifetime; r=sfink 2015-06-30 07:58:31 -07:00
Terrence Cole
3057ade782 Bug 1154950 - Share permanent atom and well-known symbol marking; r=sfink 2015-04-14 13:28:46 -07:00
Eric Faust
e92afe354a Bug 1141862 - Part 6: Implement ES6 SuperProperty and SuperMember. (r=jorendorff) 2015-04-08 17:41:01 -07:00
Wes Kocher
ad1f58a205 Backed out changeset 876c8ee6b132 (bug 1141862) for spidermonkey bustage 2015-04-08 19:05:41 -07:00
Eric Faust
df7dc45cb5 Bug 1141862 - Part 6: Implement ES6 SuperProperty and SuperMember. (r=jorendorff) 2015-04-08 17:41:01 -07:00
Terrence Cole
09d02cf58b Bug 1149352 - Part 7: Move String marking to TraceEdge; r=jonco 2015-03-30 15:14:23 -07:00
Terrence Cole
8589b1567e Bug 1147670 - Remove duplicate IsMarked/IsAboutToBeFinalized for off-thread use; r=jonco 2015-03-26 10:47:44 -07:00
Jan de Mooij
c6596c5fa8 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 23:22:11 +01:00
Phil Ringnalda
9ddefdd9e2 Backed out 7 changesets (bug 1147588, bug 1147669, bug 1147533, bug 1147665, bug 1135985, bug 1147180, bug 1147670) for frequent 10.10 devtools-2 GC assertion failures
CLOSED TREE

Backed out changeset 0bd8c4ec41fa (bug 1147670)
Backed out changeset 35ad82ff9ee7 (bug 1147669)
Backed out changeset ffe7f2e2a0f0 (bug 1147665)
Backed out changeset 37c42cff2c01 (bug 1147588)
Backed out changeset be4138f208ba (bug 1147533)
Backed out changeset 6bbd529bd995 (bug 1147180)
Backed out changeset 853e3ad56dad (bug 1135985)
2015-03-28 10:41:32 -07:00
Phil Ringnalda
1a1c158706 Backed out changeset 0c030f97a04f (bug 1144366) for being on top of patches being backed out
CLOSED TREE
2015-03-28 10:39:56 -07:00
Jan de Mooij
369ef1b850 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Terrence Cole
4ffd14ca52 Bug 1147670 - Remove duplicate IsMarked/IsAboutToBeFinalized for off-thread use; r=jonco 2015-03-26 10:47:44 -07:00
Terrence Cole
24b216d25d Bug 1135985 - Use typed members to implement pushMarkStack; r=sfink 2015-02-25 13:09:05 -08:00
Jan de Mooij
b3f1ff13a2 Bug 1137523 - Unprefix most js_* functions. r=bhackett CLOSED TREE 2015-02-27 16:08:15 +01:00
Eric Faust
5b6a324bc5 Bug 1066238 - Part 1: Parser support for static class methods. (r=jorendorff) 2015-02-26 15:05:23 -08:00
Nicholas Nethercote
5d2e8ade06 Bug 979293 - Add a FrozenAtomSet to clarify how |permanentAtoms| works. r=bhackett.
This clarifies the two phases -- (a) initialization and (b) read-only use
-- that |permanentAtoms| goes through. It also gives some type-based protection
against potential misuse.
2015-02-25 19:11:28 -08:00
Jason Orendorff
f81f0a85b1 Bug 918828, part 2 - Update decompiler for JSOP_SYMBOL. This improves error messages when @@iterator is called implicitly. r=Waldo. 2014-07-01 21:18:12 -05:00
Jan de Mooij
2ff41ee575 Bug 987560 - Greatly refactor generator implementation. Patch mostly written by Andy Wingo. r=wingo 2014-10-17 10:19:40 +02:00
Terrence Cole
6946b2d5b1 Bug 1064578 - Sweep tables in parallel; r=jonco r=bhackett 2014-09-12 17:32:51 -07:00
Nicolas B. Pierron
9d5a7dcd11 Bug 1074911 - Replace JS_ASSERT_IF by MOZ_ASSERT_IF. r=jorendorff
Apply the following script

sed -i '
   /JS_ASSERT_IF(/ {
     s/JS_ASSERT_IF(/MOZ_ASSERT_IF(/;
     :b;
     s/ \\$/\\/;
     /;/ { p; d; };
     n;
     s/^/ /;
     b b;
  };
  s/JS_ASSERT_IF (/MOZ_ASSERT_IF(/;
'
2014-10-01 19:17:53 +02:00
Nicolas B. Pierron
cb753ff627 Bug 1074911 - Replace JS_ASSERT by MOZ_ASSERT. r=jorendorff
Apply the following script

sed -i '
   /JS_ASSERT(/ {
     s/JS_ASSERT(/MOZ_ASSERT(/;
     :b;
     s/ \\$/\\/;
     /;/ { p; d; };
     n;
     s/^/ /;
     b b;
  };
  s/JS_ASSERT (/MOZ_ASSERT(/;
'

Except where the JS_ASSERT macro does not end with a semi-colon, where empty
lines are in the middle of the macro, and where the backslahes are always the
same-length after the expression.
2014-10-01 19:17:51 +02:00
Brian Hackett
4484c5f4e8 Bug 1055402 - Remove RegExp.test cache, add a more robust match only mode to irregexp, r=jandem. 2014-09-12 07:12:49 -07:00
Chris Peterson
def5e6780e Bug 1063962 - Replace jschar typedef with C++11 char16_t type. r=jandem 2014-07-21 21:43:21 -07:00
Jason Orendorff
684bf9bf97 Bug 1037718 - Remove JS_GetTypeName. r=jwalden. 2014-08-06 07:17:04 -05:00
Jan de Mooij
9de4ce0eec Bug 1041469 part 1 - Remove EnableLatin1Strings flag. r=luke 2014-07-22 14:52:03 +02:00
Brian Hackett
71ae4344b8 Bug 1024132 - Add one slot cache for stripping leading and trailing .* from RegExps for test() calls, r=jandem. 2014-07-16 08:34:30 -08:00
Jan de Mooij
bbca5e04f9 Bug 1028866 part 5 - Make NewString deflate to Latin1 if Latin1 strings are enabled and add NewStringDontDeflate. r=luke 2014-06-25 10:12:17 +02:00
Jan de Mooij
8e97ab091f Bug 1028866 part 1 - Move string allocation functions into js namespace, remove js_* prefix. r=luke 2014-06-24 17:33:27 +02:00
Jan de Mooij
a7fe0a2348 Bug 1027528 part 19 - Make XDR work with Latin1 strings. r=luke 2014-06-24 12:01:39 +02:00
Jason Orendorff
259f0c6a8c Bug 645417, part 10 - Well-known symbols. r=terrence,r=efaust.
At present there is only one, Symbol.iterator, and it is not hooked up to
anything (this happens in bug 918828). ES6 defines 8 well-known symbols. Each
one is attached to a feature, so we'll add the symbols as we add features.
Symbol.create will appear when @@create semantics are implemented.
2014-06-23 10:56:49 -05:00
Jason Orendorff
aa5af229d2 Bug 645416, part 3 - Symbol layout and GC support for allocating them. r=terrence.
Layout: js/src/vm/Symbol.h defines the new class JS::Symbol. JS::Symbol is the
same size as JSString on all platforms, because the allocator does not support
smaller allocations.

Allocation: Since the purpose of symbols is to serve as property keys, they are
always allocated in the atoms compartment.

We take a lock when allocating. This could probably be replaced with a
main-thread-only assertion. However, if atom allocation is not already a
bottleneck, symbol allocation probably never will be.

Symbols are given their own finalize-class in the GC. This means we allocate a
page per zone for symbols, even though they are only ever allocated in the
atoms zone. Terrence thought this could be easily fixed later. It should be; we
never touch the page, but a 32-bit virtual address space does not just have
infinite pages to spare.

A jsapi-test exercises the new symbol allocation code. A few oddities in
jsapi-tests are fixed in passing.

Discussion after review led to some new assertions about minimum object size in
AllocateObject and AllocateNonObject.
2014-06-23 10:55:51 -05:00
Jan de Mooij
83b5dd05fa Bug 1027528 part 2 - Make AtomizeString, StringBuffer::finishAtom handle Latin1 strings. r=luke 2014-06-20 12:39:42 +02:00
Jan de Mooij
fa788b58b4 Bug 1023778 part 3 - Make AtomizeChars and js_NewStringCopyN accept Latin1 chars. r=luke 2014-06-13 20:51:05 +02:00
Jason Orendorff
8c8d7d3e8e Bug 1017079 - Fix obsolete comment in AtomizeAndCopyChars. r=bhackett. 2014-06-05 13:23:40 -04:00
Jan de Mooij
30533fc8f7 Bug 1015917 part 1 - Support string concatenation for Latin1 strings. r=luke 2014-05-31 10:44:32 +02:00
Terrence Cole
77013bc9bb Bug 989414 - Convert FixedHeapPtr to take a T* as template parameter instead of T; r=jonco 2014-04-25 14:22:27 -07:00
Terrence Cole
f705d32ae7 Bug 807168 - Make JSTracer into a real C++ class and kill the macro accessors; r=jonco,mccr8 2014-04-11 15:19:05 -07:00
Terrence Cole
6991fe3fdf Bug 987666 - Remove the unused dynamic root analysis. r=sfink 2014-03-24 18:32:36 -04:00
Kyle Huey
ea94e7d568 Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg 2014-03-15 12:00:15 -07:00
Andy Wingo
eb2244a778 Bug 979865 - Part 3: Implement ES6 array comprehensions r=jorendorff 2014-03-07 22:01:13 +01:00
Brian Hackett
4b56bb9faf Bug 964059 - Share atoms compartment/zone between multiple runtimes, r=billm,bent. 2014-02-19 09:02:13 -07:00
Chris Peterson
8fd820ee68 Bug 964016 - Part 4: Replace JS_ALWAYS_INLINE with MOZ_ALWAYS_INLINE. r=luke 2014-01-24 20:14:56 -08:00
Tom Schuster
ca898e081a Bug 942453 - Handlify IndexToId. r=terrence 2013-12-18 13:30:49 +01:00
Birunthan Mohanathas
88a0348924 Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo 2013-12-08 21:52:54 -05:00
Bobby Holley
fb93affc0a Bug 933681 - Define JSStdName tables in terms of jsprototypes.h. r=jorendorff
This makes sure everything is consistent, and lets us use JSProtoKeys to index
into the JSStdNames table.
2013-11-22 10:55:42 -08:00
Landry Breuil
5185278fa0 Bug 939504: Remove leftover <CanGC> template in !LITTLE_ENDIAN case after bug 928050 r=bhackett 2013-11-18 08:30:25 +01:00
Brian Hackett
b1eed6d0ec Bug 928050 - Don't GC during atomization, r=billm. 2013-11-09 19:53:53 -07:00
Birunthan Mohanathas
5d97123ef4 Bug 784739 - Switch from NULL to nullptr in js/src/ (2/9); r=ehsan 2013-10-07 12:43:08 -04:00
Jan de Mooij
b89e8d080e Bug 918808 part 2 - Remove cruft from InflateStringToBuffer. r=luke 2013-09-21 11:36:33 +02:00
Brian Hackett
4609048935 Bug 906371 - Use off thread JS parsing when loading async scripts, r=bz,billm. 2013-09-11 17:42:09 -06:00