Commit Graph

168 Commits

Author SHA1 Message Date
Jan de Mooij
8868714f79 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
e2b6833e0a Bug 1263355 - Rewrite the frontend: bindings. (r=jorendorff,Waldo) 2016-08-25 01:28:47 -07:00
Jon Coppeard
d1435a2a8c Bug 1296688 - Add JSCLASS_FOREGROUND_FINALIZE flag r=sfink r=smaug 2016-08-24 14:18:10 +01:00
Terrence Cole
c3a5940060 No Bug - Fix up some function names that appear in comments; r=meow
--HG--
extra : rebase_source : c71365b5b3aeb504318ad4720e76b3d0b75b50b9
2016-07-22 10:50:26 -07:00
Tom Schuster
4455e57052 Bug 1114580 - Change ESClassValue to an enum class. r=jorendorff 2016-06-30 00:04:56 +02:00
Nicholas Nethercote
2560f9436f No bug. Remove unused JS_CLASS_MEMBERS argument. r=me.
--HG--
extra : rebase_source : 6837bd7f0fba743ad6c7f9c8af32fca23dbe0de3
2016-06-06 09:14:45 +10:00
Ehsan Akhgari
743de77fb3 Bug 1270370 - Part 2: Expose MapIterator and SetIterator through ESClassValues; r=jorendorff 2016-05-05 19:26:29 -04:00
Anthony Ramine
62b19acdb1 Bug 1270069 - Do not use DebugOnly in ElementAdder. r=nbp
DebugOnly makes binding to other languages (e.g. Rust) more complicated than needed.

--HG--
extra : rebase_source : 83d58042f9ef74a3e02c17b6de51144b721f113e
2016-05-04 08:27:00 -04:00
Ehsan Akhgari
d46718279a Bug 1266804 - Un-inline js::Unbox(); r=jorendorff 2016-04-26 14:51:47 +08:00
Nicholas Nethercote
60dcde7875 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

--HG--
extra : rebase_source : bd751bf247e9491c1966a123dbeffa573657dfb1
2016-04-01 11:00:01 +11:00
Nicholas Nethercote
754dc0bd49 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.

--HG--
extra : rebase_source : 920662674e1f672d923cb9060de23c85dfc903bf
2016-04-01 10:59:59 +11:00
Nicholas Nethercote
0faa7a06ba 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.

--HG--
extra : rebase_source : f0e9c5cdba7f5a71cda046152691de6a5184a223
2016-04-04 08:47:15 +10:00
Nicholas Nethercote
f7dab46ae8 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.

--HG--
extra : rebase_source : eb78ade09ce268e886d091f6cbc38d7e5e912527
2016-04-04 08:45:07 +10:00
Jim Blandy
b44fbd0499 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

--HG--
extra : rebase_source : 54af5a56edd9b39466fa418f7a72fc586d0482d3
2015-09-01 15:26:46 -07:00
Nicholas Nethercote
3e563eab78 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.

--HG--
extra : rebase_source : 852ac6770ace46958d018107e78c5c44ebd6528a
2016-04-01 10:59:54 +11:00
Nicholas Nethercote
e114b226dc 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.

--HG--
extra : rebase_source : 5be8fe45f652392571b8a6d7b63777cbafba6ae4
2016-03-24 07:00:29 +11:00
Till Schneidereit
db904728ee Bug 911216 - Part 7: Implement ES6 Promises in the JavaScript engine. r=efaust
--HG--
extra : rebase_source : 44ac4d767f6b2298acea444675c7177cb8f0d602
2015-11-10 12:34:00 +01:00
Till Schneidereit
dc24ad50e8 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
180499c4ff Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor in js. r=sstangl 2016-01-28 11:28:04 +01:00
Georg Kilzer
8ffe0ffc55 Bug 1236373 - Fix JSCLASS_CACHED_PROTO_WIDTH's definition when it appears outside the js namespace. r=jwalden
--HG--
extra : rebase_source : 27179d493978c6d5dbc1f5c7d05a6597ae9a0109
2016-01-03 21:15:41 +01:00
Benjamin Bouvier
a2ffb6e845 Bug 1235408: Lazily resolve SIMD types; r=jandem
--HG--
extra : rebase_source : 552c34977142aa1bb89eced6d709ea3645460f04
2016-01-11 16:03:02 +01:00
Nigel Babu
3989c307d6 Backed out changeset 51e26ad49ed2 (bug 1235408) for build bustage on a CLOSED TREE
--HG--
extra : commitid : 24qZk2WyHvI
2016-01-11 16:27:20 +05:30
Benjamin Bouvier
06044ccf15 Bug 1235408: Lazily resolve SIMD types; r=jandem
--HG--
extra : commitid : KF8d4hqdx47
extra : rebase_source : 19270a20ddcf9b05552a092a6f9f59c89f58f73b
2015-12-31 10:25:00 +01:00
Jan de Mooij
1c94156bf7 Bug 1225396 part 2 - Fix ES6 iterator prototype chains. r=jorendorff 2015-12-09 22:54:44 -05:00
Jon Coppeard
d8ea08336c Bug 1229493 - Stop shell-only modules classes being reported as standard classes r=shu 2015-12-04 13:47:25 +00:00
Benjamin Bouvier
fb5678ed2a Bug 1225605: Store SIMD type descriptors on the global SIMD object rather than on the global; r=jolesen
--HG--
extra : rebase_source : ea5e9ace0782e01695ee266efdffad1c5769e26b
2015-11-20 10:52:33 +01:00
Jan de Mooij
115d04ec63 Bug 1125423 part 5 - Remove innerObject/outerObject/thisValue Class hooks. r=luke 2015-11-06 19:03:52 +01:00
Jan de Mooij
a84c33ecb0 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
a6103d6c93 Bug 1219183 - Update comments that reference renamed thisObject hook r=shu 2015-10-30 09:50:06 +00:00
Boris Zbarsky
7ae3b58eb6 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
59be23d316 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
ff7b5cb56e Bug 930414 - Implement module namespaces r=shu 2015-10-21 10:21:44 +01:00
Michael Wu
ed4b205b47 Bug 1212663 - Use doxygen style comments in jsapi, r=Waldo 2015-10-17 13:27:16 -04:00
Shu-yu Guo
aedb453377 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
Jason Orendorff
deb2270515 Bug 1054756, part 5 - Remove Class::convert.
--HG--
extra : commitid : 6KCxWrCseSZ
extra : rebase_source : 63f3cd6ec1ade43c732ffd9b661fe6f2dca9eb4b
2015-03-20 16:28:59 -05:00
Jeff Walden
780b2875a9 Bug 1101561 - Fix generator bootstrapping (for legacy and star generators both) to be OOM-safe. r=jandem
--HG--
extra : rebase_source : a80a7ad7bbac563e489c8c110d9df40a26a161ca
2015-09-24 12:51:56 -07:00
Jeff Walden
9bc7583ece Back out 62ab5e142af3, 387c21d5c4e3, e3138a3efe4a, d8b09e2a11f1, 8add4271e98c, and ead219581dbe for bustage. r=badness-10000 in a CLOSED TREE 2015-09-24 19:43:36 -07:00
Jeff Walden
2b52966dc7 Bug 1101561 - Fix generator bootstrapping (for legacy and star generators both) to be OOM-safe. r=jandem
--HG--
extra : rebase_source : 4508a3ec55595d62c29776715d82f46e2739a014
2015-09-24 12:51:56 -07:00
Wes Kocher
b19d88b060 Backed out 7 changesets (bug 1206168, bug 1177318, bug 1054756) for hazard build failures CLOSED TREE
Backed out changeset e892727a373a (bug 1206168)
Backed out changeset 6c93d1044b7e (bug 1054756)
Backed out changeset 105433ce195b (bug 1054756)
Backed out changeset 13128a88f2b9 (bug 1054756)
Backed out changeset c250abf4fd17 (bug 1054756)
Backed out changeset fc9fef646a97 (bug 1054756)
Backed out changeset c8897f109a08 (bug 1177318)
2015-09-23 12:31:19 -07:00
Jason Orendorff
54e92d9beb Bug 1054756, part 5 - Remove Class::convert.
--HG--
extra : commitid : KrjkP1flM3c
extra : rebase_source : 8c367e3158528e92ac8ebc51521d32472f1e5bb1
2015-03-20 16:28:59 -05:00
Jon Coppeard
76c5197467 Bug 930414 - Add hook for HostResolveImportedModule r=shu 2015-09-23 15:47:39 +01:00
Jeff Walden
4046fe1490 Bug 1179003 - Convert the infallible objectClassIs proxy hook into a fallible getBuiltinClass hook that indicates class type via outparam. r=efaust, r=bz on DOM bits, r=billm on IPC bits
--HG--
extra : rebase_source : 6ddc3727c411fdfced6338e5e383a10572575f0f
2015-08-28 21:55:40 -07:00
Jeff Walden
65b65a4999 Bug 1187234 - Throw a TypeError when Array.isArray is passed a revoked proxy. r=efaust 2015-08-23 01:10:24 -07:00
Tom Schuster
98ae187a52 Bug 603201 - Change GetProperty receiver argument to Value in JS. r=efaust 2015-09-18 00:14:33 +02:00
Jon Coppeard
8acc0315a3 Bug 1088214 - Remove JSCLASS_IMPLEMENTS_BARRIERS now this is implemented everywhere r=terrence 2015-09-02 10:40:10 +01:00
Jan de Mooij
eed2b5bfff Bug 1185653 - Fix enumerate hook on unboxed objects to skip non-enumerable properties. r=jorendorff
--HG--
extra : rebase_source : 4f359cb0b34ee5a92afcb983ec765c92eaa1d162
2015-08-11 17:42:56 +02:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Nick Fitzgerald
e831e7afab Bug 1068988 - Part 1: Add byte size to the allocation log; r=shu 2015-07-09 09:21:16 -07:00
ProgramFOX
de5a025427 Bug 1124291 - SIMD (interpreter): Implemented int8x16 and int16x8 on a CLOSED TREE. r=bbouvier 2015-07-07 15:31:44 +02:00
Carsten "Tomcat" Book
d670d9ab88 Backed out changeset d1b878ce28f4 (bug 1124291) 2015-07-08 15:11:19 +02:00