Commit Graph

184 Commits

Author SHA1 Message Date
André Bargull
d6412f0d07 Bug 1345115 - Part 1: Don't switch compartment when typed array constructor is called with arraybuffer from other compartment. r=Waldo 2017-04-19 06:07:16 -07:00
Nick Fitzgerald
d042d71a63 Bug 1277338 - Part 6: Turn various macro definitions into proper constants; r=sfink 2017-04-13 13:22:20 -07:00
Tooru Fujisawa
4d742c06e5 Bug 1331092 - Part 7: Implement Async Generator yield*. r=shu 2017-03-27 23:20:19 +09:00
Tooru Fujisawa
79d310716c Bug 1331092 - Part 2: Implement Async Generator except yield*. r=shu 2017-03-27 23:20:17 +09:00
Jan de Mooij
3ea977c335 Bug 1330593 part 1 - Allow non-flat external strings. r=jwalden,bz 2017-01-26 18:40:41 +01:00
André Bargull
4d4848f711 Bug 1328386 - Part 7: Implement legacy constructor semantics for Intl.DateTimeFormat per ECMA-402, 4th edition. r=Waldo 2017-01-23 08:33:47 -08:00
André Bargull
22f453c212 Bug 1328386 - Part 6: Implement legacy constructor semantics for Intl.NumberFormat per ECMA-402, 4th edition. r=Waldo 2017-01-23 08:33:43 -08:00
Jon Coppeard
407bf25137 Bug 1331668 - Fix static build bustage r=me 2017-01-20 16:23:27 +00:00
Jon Coppeard
b51a463d97 Bug 1331668 - Add a class to encapsulate the possible results of a property lookup r=jandem 2017-01-20 16:10:16 +00:00
Jeff Walden
6793445564 Bug 1329046 - Simplify creation of DataViews backed by cross-compartment ArrayBuffers. r=sfink 2016-12-16 15:35:03 -05:00
Nicholas Nethercote
d632747c9a Bug 1324330 (part 1) - Mark js::Class and related types as NONHEAP. r=mccr8. 2016-12-19 14:18:41 +11:00
Zibi Braniecki
5357072c00 Bug 1270146 - Add PluralRules API. r=Waldo
MozReview-Commit-ID: 2WCcMjiGjwZ
2016-12-20 11:54:44 -08:00
Tooru Fujisawa
fad712b6a6 Bug 1318815 - Remove ClassSpec delegation and point target ClassSpec directly from prototype class. r=jandem 2016-11-22 16:47:29 +09:00
Tom Schuster
b3f1b40646 Bug 1015798 - Improve ClassSpec depedent behavior especially with inheritance. r=bz 2016-11-08 22:08:28 +01:00
Tooru Fujisawa
2c1e03f14d Bug 1185106 - Part 11.1: Implement async functions. r=till
MozReview-Commit-ID: ChWpakqUlsi
2016-08-29 02:05:55 +09:00
Terrence Cole
f1d44424d3 Bug 1245316 - Use Rooted<GCVector> to implement AutoVector; r=sfink 2016-09-22 17:01:38 -07:00
Jan de Mooij
ceace1082f Bug 1298878 - Don't store the actual builtin constructor properties on the global in reserved slots. r=Waldo 2016-08-31 10:58:15 +02:00
Shu-yu Guo
45f2e559d8 Bug 1263355 - Rewrite the frontend: bindings. (r=jorendorff,Waldo) 2016-08-25 01:28:47 -07:00
Jon Coppeard
66a80788eb Bug 1296688 - Add JSCLASS_FOREGROUND_FINALIZE flag r=sfink r=smaug 2016-08-24 14:18:10 +01:00
Terrence Cole
d0d5ac684c No Bug - Fix up some function names that appear in comments; r=meow 2016-07-22 10:50:26 -07:00
Tom Schuster
88135ce2c1 Bug 1114580 - Change ESClassValue to an enum class. r=jorendorff 2016-06-30 00:04:56 +02:00
Nicholas Nethercote
55b7de477c No bug. Remove unused JS_CLASS_MEMBERS argument. r=me. 2016-06-06 09:14:45 +10:00
Ehsan Akhgari
12420d7a56 Bug 1270370 - Part 2: Expose MapIterator and SetIterator through ESClassValues; r=jorendorff 2016-05-05 19:26:29 -04:00
Anthony Ramine
b54780176f Bug 1270069 - Do not use DebugOnly in ElementAdder. r=nbp
DebugOnly makes binding to other languages (e.g. Rust) more complicated than needed.
2016-05-04 08:27:00 -04:00
Ehsan Akhgari
26b8e80471 Bug 1266804 - Un-inline js::Unbox(); r=jorendorff 2016-04-26 14:51:47 +08:00
Nicholas Nethercote
a35143c546 Bug 1261723 (part 2) - Separate class ops from js::Class. code=njn,h4writer. r=efaust,bz.
js::Class op are often all null. And when they're not all null, they're often
duplicated among classes. By pulling them out into their own struct, and using a
(possibly null) pointer in js::Class, we can save 114 KiB per process on
64-bit, and half that on 32-bit.
* * *
imported patch separate-ClassOps-2
2016-04-01 11:00:01 +11:00
Nicholas Nethercote
36c25ad5ef Bug 1261723 (part 1) - Rename js::Class::ops as oOps. r=efaust.
|oOps| is short for "objectOps", which will contrast with the |cOps| "classOps"
field that the next patch will introduce.
2016-04-01 10:59:59 +11:00
Nicholas Nethercote
ea5ce3931c Bug 1261720 (part 2) - Move ClassExtension::isWrappedNative into js::Class::flags. r=jorendorff.
This saves 10 KiB of static data on 64-bit, and half that on 32-bit.
2016-04-04 08:47:15 +10:00
Nicholas Nethercote
a34f03aa34 Bug 1261720 (part 1) - Separate js::ClassExtension from js::Class. r=jorendorff,bz.
js::ClassExtension is often all null. When it's not all null, it's often
duplicated among classes. By pulling it out into its own struct, and using a
(possibly null) pointer in js::Class, we can save 17 KiB per process on
64-bit, and half that on 32-bit.
2016-04-04 08:45:07 +10:00
Jim Blandy
4551ea5dc7 Bug 1251529: In object metadata world, rename "object metadata" to "allocation metadata" and "callback" to "builder". r=fitzgen
Exceptions:
- AutoSetNewObjectMetadata and its related type are still exclusively about objects.
- JSCompartment::objectMetadataTable is still only about objects.
- the ObjectMetadataMap type still only has objects as keys.

Non-exceptions:

The builder type, and the JSCompartment member:
ObjectMetadataCallback -> AllocationMetadataBuilder
objectMetadataCallback -> allocationMetadataBuilder

jsfriendapi.h interface:
SetObjectMetadataCallback -> SetAllocationMetadataBuilder
GetObjectMetadata -> GetAllocationMetadata

JSCompartment methods:
hasObjectMetadataCallback -> hasAllocationMetadataBuilder
getObjectMetadataCallback -> getAllocationMetadataBuilder
setObjectMetadataCallback -> setAllocationMetadataBuilder
forgetObjectMetadataCallback -> forgetAllocationMetadataBuilder
addressOfMetadataCallback -> addressOfMetadataBuilder

Shell and testing functions:
SavedStacksMetadataCallback -> SavedStacksMetadataBuilder
ShellObjectMetadataCallback -> ShellAllocationMetadataBuilder
EnableShellObjectMetadataCallback -> EnableShellAllocationMetadataBuilder
enableShellObjectMetadataCallback -> enableShellAllocationMetadataBuilder
GetObjectMetadata -> GetAllocationMetadata
getObjectMetadata -> getAllocationMetadata

Delayed metadata collection:
shouldDelayMetadataCallback -> shouldDelayMetadataBuilder
JSCLASS_DELAY_METADATA_CALLBACK -> JSCLASS_DELAY_METADATA_BUILDER
suppressObjectMetadataCallback -> suppressAllocationMetadataBuilder
2015-09-01 15:26:46 -07:00
Nicholas Nethercote
2e87fb6483 Bug 1260984 (part 3) - Separate js::ClassSpec from js::Class. r=jorendorff.
js::ClassSpec is often all null. When it's not all null, it's often duplicated
among classes. By pulling it out into its own struct, and using a (possibly
null) pointer in js::Class, we can save 138 KiB per process on 64-bit, and half
that on 32-bit.
2016-04-01 10:59:54 +11:00
Nicholas Nethercote
8fb8d0f2ff Bug 1259194 (part 4) - Separate js::ObjectOps from js::Class. r=efaust,mrbkap,bz.
js::ObjectOps is often all null. When it's not all null, it's often duplicated
many times among classes. By pulling it out into its own struct, and using a
(possibly null) pointer in js::Class, we can save 208 KiB per process on
64-bit, and half that on 32-bit.
2016-03-24 07:00:29 +11:00
Till Schneidereit
28fb965537 Bug 911216 - Part 7: Implement ES6 Promises in the JavaScript engine. r=efaust 2015-11-10 12:34:00 +01:00
Till Schneidereit
a238951051 Bug 1254968 - Add support for running JS builtins' constructors over Xray wrappers without unwrapping the newTarget. r=bholley,f=bz 2016-02-10 23:09:13 +01:00
Tom Schuster
8436c3c6c9 Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor in js. r=sstangl 2016-01-28 11:28:04 +01:00
Georg Kilzer
e57c7338d2 Bug 1236373 - Fix JSCLASS_CACHED_PROTO_WIDTH's definition when it appears outside the js namespace. r=jwalden 2016-01-03 21:15:41 +01:00
Benjamin Bouvier
4726544de6 Bug 1235408: Lazily resolve SIMD types; r=jandem 2016-01-11 16:03:02 +01:00
Nigel Babu
8af0a43457 Backed out changeset 51e26ad49ed2 (bug 1235408) for build bustage on a CLOSED TREE 2016-01-11 16:27:20 +05:30
Benjamin Bouvier
1c72fd010f Bug 1235408: Lazily resolve SIMD types; r=jandem 2015-12-31 10:25:00 +01:00
Jan de Mooij
0a0fb4e499 Bug 1225396 part 2 - Fix ES6 iterator prototype chains. r=jorendorff 2015-12-09 22:54:44 -05:00
Jon Coppeard
641c5e5e16 Bug 1229493 - Stop shell-only modules classes being reported as standard classes r=shu 2015-12-04 13:47:25 +00:00
Benjamin Bouvier
60c0fe1504 Bug 1225605: Store SIMD type descriptors on the global SIMD object rather than on the global; r=jolesen 2015-11-20 10:52:33 +01:00
Jan de Mooij
7f8111c3cb Bug 1125423 part 5 - Remove innerObject/outerObject/thisValue Class hooks. r=luke 2015-11-06 19:03:52 +01:00
Jan de Mooij
af31342c5b Bug 1125423 part 1 - Attach WindowProxies to globals instead of using innerObject/outerObject hooks. r=bz,luke 2015-11-06 19:03:51 +01:00
Jon Coppeard
6a8c331c15 Bug 1219183 - Update comments that reference renamed thisObject hook r=shu 2015-10-30 09:50:06 +00:00
Boris Zbarsky
0b749bd1ad Bug 1039986. Make Function.prototype.toString work on Web IDL interface objects. r=jorendorff,peterv 2015-10-27 16:25:14 -04:00
Jon Coppeard
4a1121053a Bug 930414 - Replace |thisObject| object op with |thisValue| and use if for modules r=shu r=smaug 2015-10-21 10:21:44 +01:00
Jon Coppeard
8ff3b8a4a3 Bug 930414 - Implement module namespaces r=shu 2015-10-21 10:21:44 +01:00
Michael Wu
25eac535ad Bug 1212663 - Use doxygen style comments in jsapi, r=Waldo 2015-10-17 13:27:16 -04:00
Shu-yu Guo
ddc06511b6 Bug 589199 - Make a global lexical scope and hook it up to JS entry points. (r=efaust) 2015-10-06 14:00:28 -07:00