Commit Graph

2380 Commits

Author SHA1 Message Date
Bill McCloskey
4540abebb8 Bug 1016738 - Simplify/fix "dead compartment" logic (r=luke,jonco) 2014-06-17 11:20:33 -07:00
Terrence Cole
e024f51385 Bug 1033442 - Allocate slots from the zone explicitly; r=jonco 2014-08-05 14:06:35 -07:00
Luke Wagner
e4590e2f85 Bug 1036969 - mv js/src/jit/AsmJS* js/src/asmjs (r=jorendorff) 2014-08-01 09:28:17 -05:00
Terrence Cole
30dac83d5a Bug 1045940 - Rename needsBarrier to needsIncrementalBarrier; r=jonco 2014-07-28 10:16:56 -07:00
Guptha Rajagopal
3753f887bb Bug 1031397 - Implement Tagged Templates as described in ES6 draft section 12.3.7. r=jorendorff 2014-07-30 10:14:00 +02:00
Terrence Cole
156dae455d Bug 1029299; r=billm 2014-05-12 15:12:51 -07:00
Bobby Holley
1adabd4b32 Bug 940305 - Move extraWarnings to RuntimeOptions with a per-compartment override. r=jandem,r=khuey 2014-07-29 21:00:37 -07:00
Brian Hackett
f280459107 Bug 1042833 - Remove JS_ION #ifdef, r=jandem. 2014-07-29 12:51:40 -08:00
Nicholas Nethercote
310b15621d Bug 1039965 (attempt 2) - Avoid slop in JS arrays. r=bhackett,terrence.
This patch changes JS array resizing to prefer power-of-two sized slot
requests. Previously it would mostly make slightly-more-than-power-of-two sized
requests that cause lots of slop.

Also, shrinkElements() now only does a reallocation if it would result in going
down a size class. E.g. if you pop all the elements from a 1000-element array,
it would realloc 999, then 998, then 997, all the way down the minimum size.
Now it does 512, then 256, down to the minimum size (which is 8).

I confirmed with DMD that the element allocations now have zero slop. This
reduces peak RSS loading a couple of large PDF files (four times each) with
pdf.js by 10s of MiBs.
2014-07-24 18:41:09 -07:00
Nicholas Nethercote
12aa3539ec Backout dd2018a5f894 (bug 1039965) because it caused perf regressions in Kraken. 2014-07-22 18:11:31 -07:00
Nicholas Nethercote
af8bb44383 Bug 1039965 - Avoid slop in JS arrays. r=bhackett,terrence.
This patch changes JS array resizing to always allocate power-of-two sized slot
requests. Previously it would mostly make slight-more-than-power-of-two sized
requests, which cause lots of slop.

Also, shrinkElements() now only does a reallocation if it would result in going
down a size class. E.g. if you pop all the elements from a 1000-element array,
it would realloc 999, then 998, then 997, all the way down the minimum size.
Now it does 512, then 256, down to the minimum size (which is 8).

I confirmed with DMD that the element allocations now have zero slop. This
reduces peak RSS loading a couple of large PDF files (four times each) with
pdf.js by 10s of MiBs.
2014-07-17 21:14:20 -07:00
Bill McCloskey
7775a9041f Bug 673569 - Allow scripts to be run in a non-global scope (r=luke) 2014-07-16 23:03:44 -07:00
Chris Peterson
2ff2fed875 Bug 1036782 - Replace MOZ_ASSUME_UNREACHABLE with MOZ_CRASH in js/src. r=jorendorff 2014-07-14 19:14:54 -07:00
Nathan Braswell
e6a90e0d06 Bug 1032956 - Self-hosted functions in {Object,Function}.{,prototype.}* are broken and fail on an assert. r=jwalden 2014-07-07 11:48:48 -07:00
Bobby Holley
385f0096d9 Bug 1036507 - Introduce and use StandardProtoKeyOrNull. r=luke 2014-07-11 09:09:21 -07:00
Bobby Holley
62c3a2b6fc Bug 1036507 - Remove deceptive GetClassProtoKey API. r=luke
This thing is basically only useful for ye olde JS_InitClass classes where
people might try to create objects with external JSClasses and expect various
defaults when they invoke JS_NewObject. Let's move it out of the way.
2014-07-11 09:09:21 -07:00
Bobby Holley
24b8c2f6d2 Bug 940316 - Move werror to RuntimeOptions. r=jandem 2014-07-11 08:30:47 -07:00
Jason Orendorff
8c15efbe98 Bug 1031550 - Update js_DumpObject for symbol-keyed properties. r=Waldo. 2014-06-27 16:36:56 -05:00
Eric Faust
2ffb3c25ae Bug 1015790 - Remove PropDesc::descObj_. (r=jorendorff) 2014-06-27 03:46:00 -07:00
Shu-yu Guo
bbd5d863f8 Bug 1028331 - Use BailoutKind to report more detailed PJS bailout warnings. (r=lth) 2014-06-27 00:41:20 -07:00
Nigel Babu
cd74aa6973 Backed out changeset 567152f907a1 (bug 1028331) for Jit failures 2014-06-27 08:48:14 +05:30
Shu-yu Guo
c80133d95d Bug 1028331 - Use BailoutKind to report more detailed PJS bailout warnings. (r=lth) 2014-06-26 18:31:50 -07:00
Jon Coppeard
329197b409 Bug 988486 - Make more GCRuntime state private and add necessary accessors r=terrence 2014-06-26 10:07:35 +01:00
Lars T Hansen
c67095bdd1 Bug 1020290 - move notions of 'nursery' out of ThreadSafeContext, rename 'fjNursery'. r=shu 2014-06-26 09:21:52 +02:00
Jeff Walden
96edc42203 Bug 1029118 - Remove the now-dead (as of window WebIDLification) js::ReportIfUndeclaredVarAssignment. r=till 2014-06-23 07:46:44 -07:00
Jason Orendorff
c027cced52 Bug 645416, part 25 - Add support for enumerating symbol-keyed properties. r=Waldo.
Object.keys, Object.getOwnPropertyNames, and for-in loops skip symbol-keyed
properties per spec, but Object.defineProperties sees them, and a future
Reflect.ownKeys API will need to be able to see them.

This patch changes the comments on JSITER_FOREACH and JSITER_KEYVALUE, but not
the behavior. The comments were just wrong.
2014-06-23 10:57:03 -05:00
Jason Orendorff
8567ce66f2 Bug 645416, part 22 - Remove JSCompartment::wrapId. r=terrence.
This is unnecessary now that object jsids no longer exist. Both string and
symbol jsids point only to GC things in the atoms compartment, which are safe
to pass to any compartment without wrapping.
2014-06-23 10:57:02 -05:00
Jason Orendorff
2e64deca70 Bug 645416, part 5 - Add the Symbol constructor and Symbol wrapper objects. r=efaust.
This exposes a new primitive type to scripts for the first time since
JavaScript first shipped in Netscape 2, over 13 years ago.

The tests focus on identity, equality, and being able to pass a symbol around
as a value. Of course the point of symbols is that they can be property keys,
but that will have to wait for a later patch in this series.
2014-06-23 10:55:52 -05:00
Jason Orendorff
a8d40db657 Bug 645416, part 4 - Rename DefinePropertiesAndBrand -> DefinePropertiesAndFunctions. r=bhackett. 2014-06-23 10:55:52 -05:00
Bill McCloskey
dd7f70e614 Bug 990729 - Fix nullptr/JS_PropertyStub mistake in js::CheckDefineProperty (r=jorendorff) 2014-06-21 11:54:30 -07:00
Bobby Holley
0adc1ea68f Bug 976148 - Add a mechanism to identify a standard constructor. r=luke 2014-06-19 09:57:05 -07:00
Ryan VanderMeulen
d7e8fad6fa Backed out changeset aca2ec2457ec (bug 1016738) for re-introducing frequent WebRTC crashes. 2014-06-17 21:12:43 -04:00
Bill McCloskey
1513d64240 Bug 1016738 - Simplify/fix "dead compartment" logic (r=luke,jonco) 2014-06-17 11:20:33 -07:00
Jon Coppeard
d843d0e382 Bug 988486 - Make more GCRuntime state private and add accessors r=terrence 2014-06-16 10:40:44 +01:00
Nicholas Nethercote
7c38f2f3f9 Backout 277bacd9f2f8 (bug 1023719) for causing intermittent crashes. 2014-06-13 06:39:16 -07:00
Nicholas Nethercote
fcd369762b Bug 1023719 - Report notable classes in the JS memory reporter. r=till. 2014-04-15 19:43:18 -07:00
Lars T Hansen
ed20b5518c Bug 933313: Per-worker generational GC for PJS. r=jandem r=terrence r=shu r=jonco 2014-06-09 22:04:14 -07:00
Bill McCloskey
681e59de19 Bug 1016738 - Back out for webrtc crashes. 2014-06-09 12:30:38 -07:00
Jon Coppeard
17c28d5deb Bug 988486 - Make more GCRuntime members private and add necessary accessors r=terrence 2014-06-07 10:34:57 +01:00
Ryan VanderMeulen
6f0dbcc424 Backed out 3 changesets (bug 1021114, bug 988486) for GC crashes on a CLOSED TREE.
Backed out changeset f56234ba7ec7 (bug 1021114)
Backed out changeset 14a4a9062253 (bug 988486)
Backed out changeset 03eccac81e15 (bug 988486)
2014-06-07 00:03:17 -04:00
Jon Coppeard
808af83e72 Bug 988486 - Make more GCRuntime members private and add necessary accessors r=terrence 2014-06-07 10:34:57 +01:00
Jason Orendorff
cb432bf614 Bug 904723, part 1 - Add new IsConstructor intrinsic for self-hosting. r=till.
This also renames js_IsCallable to js::IsCallable and does some related light
cleaning work.
2014-06-06 11:15:21 -04:00
Jason Orendorff
8836365bf4 Bug 1008441 - Make Object.defineProperty(proxy, desc) only parse desc once. r=efaust. 2014-06-06 11:15:21 -04:00
Jason Orendorff
201acb0e94 Bug 1017067 - Merge deleteProperty/deleteElement ops back into a single deleteGeneric op. r=bhackett. 2014-06-05 13:19:23 -04:00
Carsten "Tomcat" Book
54284ee533 Backed out changeset d15632d88126 (bug 933313) for cppunit testfailures on a CLOSED TREE 2014-06-06 15:49:45 +02:00
Lars T Hansen
7852825711 Bug 933313: Per-worker generational GC for PJS. Take 2. r=jandem, r=shu, r=terrence, r=jonco 2014-06-06 11:42:10 +02:00
Carsten "Tomcat" Book
c817df43b8 Backed out changeset d89d4281fd8d (bug 933313) for bustage on a CLOSED TREE 2014-06-06 10:18:04 +02:00
Lars T Hansen
c6397d3a7e Bug 933313 - Per-worker generational GC for PJS. r=jandem, r=shu, r=terrence 2014-06-06 09:21:52 +02:00
Eric Faust
46c6024028 Bug 978238 - Part 2: Implement Proxy.[[GetOwnProperty]] to new ES6 standard. (r=jorendorff) 2014-06-03 13:23:03 -07:00
Eric Faust
a24a95eb09 Bug 978238 - Part 1: Clean up PropDesc<->PropertyDescriptor conversions. (r=jorendorff) 2014-06-03 13:23:02 -07:00