Commit Graph

106 Commits

Author SHA1 Message Date
Tom Schuster
b6e24288b0 Bug 1147005 - Change JSAddPropertyOp signature. r=jorendorff,peterv 2015-03-28 14:47:02 +01:00
Jan de Mooij
353df38b83 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
ebf64fc997 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
Phil Ringnalda
6ed9961a65 Backed out changeset d72144153749 (bug 1147005) for being on top of a patch on top of a patch being backed out
CLOSED TREE
2015-03-28 10:39:09 -07:00
Tom Schuster
66af630422 Bug 1147005 - Change JSAddPropertyOp signature. r=jorendorff,peterv 2015-03-28 14:47:02 +01:00
Jan de Mooij
f981f078d8 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Jason Orendorff
db4ac4cade Bug 1142794 - Change 'receiver' argument to SetProperty functions and ProxyHandler::set methods to be a HandleValue. r=Waldo.
Also: Change signature of these functions and methods to all have the same arguments in the same order: (cx, obj, id, v, receiver). Also change v from MutableHandleValue to HandleValue.

There is no change in behavior.

In fact the new error message `JSMSG_SET_NON_OBJECT_RECEIVER` is
impossible to trigger from scripts for now, I think (after re-reading
the whole patch with this in mind). JS_ForwardSetPropertyTo is the only
way to get a non-object receiver into the engine, but no caller
currently does so.

We're installing new pipes here, and they should work, but for now it's
the same cold water flowing through as before. Actually hooking up the
hot water is left for another bug (one with tests, not to put too fine a
point on it).

Notes:

*   InvokeGetterOrSetter had to be split into two functions:
    InvokeGetter takes a MutableHandleValue out-param,
    InvokeSetter a HandleValue in-param.

*   Watchpoints can still tamper with values being assigned. So can
    JSSetterOps. I'm pleased we can support this craziness in a way that
    doesn't have to spread via the type system to encompass the entire
    codebase.

*   Change in GlobalObject::setIntrinsicValue is not really a change.
    Yes, it asserted before, but an exception thrown during self-hosting
    initialization is not going to go unnoticed either.

*   Since the receiver argument to js::SetProperty() is at the end now, it
    makes sense for it to be optional. Some callers look nicer.
2015-03-01 13:16:19 -06:00
Jason Orendorff
e0dceb58e9 Bug 1142784, part 3 - Change js::DefinePropertyOp and a few property-defining functions to use PropertyDescriptor rather than separate (value, attrs, getter, setter) arguments. r=Waldo. 2015-02-28 11:23:44 -06:00
Phil Ringnalda
8a89e647fd Backed out 9 changesets (bug 1142775, bug 1139683, bug 1143810, bug 1142761, bug 1142784, bug 1142794, bug 1144819) for widespread bustage
CLOSED TREE

Backed out changeset 7613fc978d36 (bug 1142794)
Backed out changeset e5f0cb31263d (bug 1142784)
Backed out changeset dcd0af73ac84 (bug 1142784)
Backed out changeset 034f9c8e79ee (bug 1142784)
Backed out changeset ce0ee37e3ca9 (bug 1142775)
Backed out changeset 1519b8f2bbba (bug 1142761)
Backed out changeset 26fd55677841 (bug 1139683)
Backed out changeset 7ebc76a450c3 (bug 1144819)
Backed out changeset 92adb459d519 (bug 1143810)
2015-03-22 09:34:25 -07:00
Jason Orendorff
60373a960b Bug 1142794 - Change 'receiver' argument to SetProperty functions and ProxyHandler::set methods to be a HandleValue. r=Waldo.
Also: Change signature of these functions and methods to all have the same arguments in the same order: (cx, obj, id, v, receiver). Also change v from MutableHandleValue to HandleValue.

There is no change in behavior.

In fact the new error message `JSMSG_SET_NON_OBJECT_RECEIVER` is
impossible to trigger from scripts for now, I think (after re-reading
the whole patch with this in mind). JS_ForwardSetPropertyTo is the only
way to get a non-object receiver into the engine, but no caller
currently does so.

We're installing new pipes here, and they should work, but for now it's
the same cold water flowing through as before. Actually hooking up the
hot water is left for another bug (one with tests, not to put too fine a
point on it).

Notes:

*   InvokeGetterOrSetter had to be split into two functions:
    InvokeGetter takes a MutableHandleValue out-param,
    InvokeSetter a HandleValue in-param.

*   Watchpoints can still tamper with values being assigned. So can
    JSSetterOps. I'm pleased we can support this craziness in a way that
    doesn't have to spread via the type system to encompass the entire
    codebase.

*   Change in GlobalObject::setIntrinsicValue is not really a change.
    Yes, it asserted before, but an exception thrown during self-hosting
    initialization is not going to go unnoticed either.

*   Since the receiver argument to js::SetProperty() is at the end now, it
    makes sense for it to be optional. Some callers look nicer.
2015-03-01 13:16:19 -06:00
Jason Orendorff
f6bc97638d Bug 1142784, part 3 - Change js::DefinePropertyOp and a few property-defining functions to use PropertyDescriptor rather than separate (value, attrs, getter, setter) arguments. r=Waldo. 2015-02-28 11:23:44 -06:00
Tooru Fujisawa
678e5efa12 Bug 1079919 - Part 0: Add RegExp ClassSpec. r=bholley 2015-03-18 18:22:05 +09:00
Jason Orendorff
93b2f19ac6 Bug 828137, part 1 - Make Object.defineProperty fail on window elements. r=bz. 2015-02-11 11:38:36 -06:00
Jason Orendorff
951d1580ab Bug 1141329, prelude - Make ObjectOpResult pointer-sized to fix amazingly bogus code and assertions in IonCaches, introduced by rev 0712a3d4b79c. r=efaust. 2015-03-10 12:22:30 -05:00
Carsten "Tomcat" Book
9f406a7b29 Backed out changeset df26246112ad (bug 828137) 2015-03-09 16:49:34 +01:00
Jason Orendorff
50c193277b Bug 828137, part 1 - Make Object.defineProperty fail on window elements. r=bz. 2015-02-11 11:38:36 -06:00
Jason Orendorff
3322381e4f Bug 1113369, part 6 - [[PreventExtensions]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-04 12:01:01 -06:00
Jason Orendorff
d1204e0adb Bug 1113369, part 5 - [[Delete]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-04 10:20:04 -06:00
Jason Orendorff
e065e5cceb Bug 1113369, part 4 - [[Set]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-03 19:51:40 -06:00
Jason Orendorff
f43c96af4d Bug 1113369, part 3 - [[DefineOwnProperty]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
Add an ObjectOpResult out-param for DefineProperty functions everywhere. We leave a few js::DefineProperty() convenience functions with no *result out-param. These have strict behavior: that is, they automatically check the result and throw if it is false. In bug 1125624 these strict signatures may end up being called DefinePropertyOrThrow, as that is what the spec calls it.
2015-01-30 11:37:07 -06:00
Jason Orendorff
143ed465ec Bug 1113369, part 2 - js::SetArrayLength ObjectOpResult support. r=Waldo. 2015-01-29 23:02:26 -06:00
Jason Orendorff
de1c1c9fb9 Bug 1113369, part 1½ - Avoid regressing error messages by adding obj to the ObjectOpResult methods that could throw a TypeError. r=Waldo. 2015-02-18 18:49:17 -06:00
Jason Orendorff
d7beadeba1 Bug 1113369, part 1 - Introduce JS::ObjectOpResult and use it in js::StandardDefineProperty. r=Waldo.
In general, jsobj.h will offer, for each standard internal method that returns a boolean value indicating success/failure, signatures with a JS::ObjectOpResult& out-parameter and signatures without it. The ones without will throw a TypeError on failure (that is, the behavior will be "strict").
2015-02-02 17:06:47 -06:00
Jason Orendorff
155abd81e7 Bug 1130576 - Rename JSPropertyOp -> JSGetterOp and JSStrictPropertyOp -> JSSetterOp. r=efaust. 2015-01-30 13:56:15 -06:00
Brian Hackett
8d8840048c Bug 1121554 - Include receiver argument in setProperty hooks, r=jorendorff. 2015-02-14 08:50:48 -07:00
Tom Schuster
6976ec9759 Bug 1124934 - Add a HasProperty ObjectOp. r=jorendorff 2015-02-13 12:20:02 +01:00
Tom Schuster
c22e2c0d82 Bug 1125437 - Get rid of SetPropertyAttributes and use DefineProperty to follow ES6 specification. r=efaust 2015-02-11 23:40:47 +01:00
Jason Orendorff
81e4343779 Bug 1127121 - Remove property key type splitting in ObjectOps. r=bhackett.
--HG--
extra : rebase_source : dab65791e3efc9fc625365b6aa5dc26d5cad19fb
2015-01-28 17:12:44 -06:00
Tom Schuster
b46230fdc5 Bug 1111243 - Implement ES6 proxy behavior for IsArray. r=efaust 2015-01-25 21:42:10 +01:00
Tom Schuster
0998506fdb Bug 1122619 - Remove getPropertyAttributes object ops. r=jorendorff 2015-01-24 16:38:08 +01:00
Tom Schuster
e600e170fe Bug 1122552 - Introduce [[GetOwnProperty]] object op. r=jorendorff,bz 2015-01-22 17:17:26 +01:00
ProgramFOX
a348dc35da Bug 1031203 - Implemented float64x2. r=bbouvier 2015-01-16 17:17:37 +01:00
Ryan VanderMeulen
228d980cda Backed out changesets 178c7164a3cd and 9a7ee9cb2247 (bug 1031203) for bustage.
CLOSED TREE

--HG--
extra : amend_source : 89f9ffb338e7305ae3c3c7f100744570aec95d06
2015-01-15 14:42:54 -05:00
ProgramFOX
b4208b9620 Bug 1031203 - Implemented float64x2. r=bbouvier 2015-01-14 19:21:22 +01:00
Jason Orendorff
7e067c2bed Bug 1112778, part 10 - Rename the remaining nonstandard internal methods, such as JSObject::getGenericAttributes -> js::GetPropertyAttributes. r=Waldo.
--HG--
extra : rebase_source : ca12f2f784cacbec9721c07a1b7e61f72687fb53
extra : amend_source : ded50e2f93b4027dc2ec94198826393b2349c0f7
2014-12-18 13:28:06 -06:00
Masatoshi Kimura
f70d08c5aa Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Terrence Cole
d263473300 Bug 1085597 - Allow objects with finalization and move ops to be nursery allocated; r=jonco
--HG--
extra : rebase_source : 14ea3e14ded4dcde2ba1aa2f887b9a75750331a2
2014-10-23 13:49:17 -07:00
Tom Schuster
70dad95d3c Bug 1097267 - Change to the simpler enumerate hook in the js engine. r=jorendorff 2014-12-11 19:31:10 +01:00
Jason Orendorff
3adebb6c77 Bug 1103368, part 5 - Make Class::getProperty and setProperty nullable instead of needing stub functions. Never store stub functions in JSPropertyDescriptors. r=bhackett.
--HG--
extra : rebase_source : a44070dd6155426ef6026c1575116f90b5fdac0c
extra : amend_source : 8d8fcf05dfd5fdf214a39501663347a6d6b56463
2014-11-22 12:23:39 -06:00
Boris Zbarsky
c735db8b08 Bug 1012798 part 1. Add one more available reserved slot on globals, because we need it for Window. r=jorendorff 2014-12-09 14:44:37 -05:00
Jan de Mooij
8dde2de579 Bug 1094255 - Optimize GetElements on NodeLists to make fun.apply(x, nodeList) faster. r=bz,evilpie 2014-11-11 11:56:44 +01:00
Tom Schuster
e34d3251d3 Bug 993026 - Simplify JS resolve hook. r=jorendorff 2014-11-08 01:07:12 +01:00
Tom Schuster
2a73ddb7b1 Bug 1091900 - Remove iteratorObject hook. r=jorendorff
* * *
Bug 1091900 - Fix build on CLOSED TREE
2014-11-05 20:36:49 +01:00
Carsten "Tomcat" Book
fac6a9db7c Backed out changeset dc265cc31095 (bug 1091900) 2014-11-06 09:11:18 +01:00
Tom Schuster
5e10b64908 Bug 1091900 - Remove iteratorObject hook. r=jorendorff 2014-11-05 20:36:49 +01:00
Jeff Walden
45f2ee3b13 Bug 712939 - Replace a bunch of JS_STATIC_ASSERTs with static_assert. r=jandem
--HG--
extra : rebase_source : 4205bda533538d866b8facd669b11cb40e2f02e9
2014-10-22 15:17:38 -07:00
Jon Coppeard
3132765f93 Bug 650161 - Fix crashes moving partially initialized DOM objects r=bz 2014-10-28 10:18:36 +00:00
Jon Coppeard
5689f7e4b4 Bug 650161 - Relocate global objects (browser changes) r=bholley 2014-10-20 09:07:43 +01:00
Jon Coppeard
ddd906f3a1 Bug 650161 - We don't need an objectMoved hook for global objects r=terrence 2014-09-29 09:50:17 +01:00
Terrence Cole
e7ebd76a55 Bug 1064346 - JSFunction's extended attributes expect POD-style initialization. r=billm 2014-09-10 15:42:36 -07:00