Граф коммитов

99 Коммитов

Автор SHA1 Сообщение Дата
Jason Orendorff fae53e811b 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.
--HG--
extra : rebase_source : 77cca13d3d8e33831cd5cb82129ede3645e58374
2015-02-28 11:23:44 -06:00
Phil Ringnalda c4745d28b1 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 735dca6f1b 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.

--HG--
extra : rebase_source : 68cd15627a62728061e663706cb1ff8c7bb292a0
2015-03-01 13:16:19 -06:00
Jason Orendorff a5c5338e0f 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.
--HG--
extra : rebase_source : a177bc1d8991f24652b4e629da5eaa52d9d4a59c
2015-02-28 11:23:44 -06:00
Tooru Fujisawa 75d9d40a66 Bug 1079919 - Part 0: Add RegExp ClassSpec. r=bholley 2015-03-18 18:22:05 +09:00
Jason Orendorff cd9a74e351 Bug 828137, part 1 - Make Object.defineProperty fail on window elements. r=bz.
--HG--
extra : rebase_source : 8bfc7e8ebd9219511a6119bcefd2c784dc9a1682
2015-02-11 11:38:36 -06:00
Jason Orendorff eedeed1e47 Bug 1141329, prelude - Make ObjectOpResult pointer-sized to fix amazingly bogus code and assertions in IonCaches, introduced by rev 0712a3d4b79c. r=efaust.
--HG--
extra : rebase_source : 1d82219b61105088cf27154c6200e647091a36e0
2015-03-10 12:22:30 -05:00
Carsten "Tomcat" Book bca0a2c02e Backed out changeset df26246112ad (bug 828137) 2015-03-09 16:49:34 +01:00
Jason Orendorff 659c8de550 Bug 828137, part 1 - Make Object.defineProperty fail on window elements. r=bz.
--HG--
extra : rebase_source : ececca61c52296fb41e26e277a6bfa0d5eca63bb
extra : amend_source : 4229cb2652c2eb5b4347ebe043eccf1c0515e62a
2015-02-11 11:38:36 -06:00
Jason Orendorff 29bfe274bb Bug 1113369, part 6 - [[PreventExtensions]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
--HG--
extra : rebase_source : 08631a46c776f6d9e60794ad61308240dde3d94d
2015-02-04 12:01:01 -06:00
Jason Orendorff cc85989b86 Bug 1113369, part 5 - [[Delete]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
--HG--
extra : rebase_source : 64b0e44bbb7673d139fab920243566db4844b517
2015-02-04 10:20:04 -06:00
Jason Orendorff 9a17368e8e Bug 1113369, part 4 - [[Set]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
--HG--
extra : rebase_source : ee44b9a7c933addd7f26643443900843b984587b
2015-02-03 19:51:40 -06:00
Jason Orendorff de9e3b99dc 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.

--HG--
extra : rebase_source : 36439a8fa433c453f63b02c93fceaf0d8b9e9626
2015-01-30 11:37:07 -06:00
Jason Orendorff ce09b0bfc5 Bug 1113369, part 2 - js::SetArrayLength ObjectOpResult support. r=Waldo.
--HG--
extra : rebase_source : fa947b315a7ede20a16893e3e44dd4118665c777
2015-01-29 23:02:26 -06:00
Jason Orendorff 844535d277 Bug 1113369, part 1½ - Avoid regressing error messages by adding obj to the ObjectOpResult methods that could throw a TypeError. r=Waldo.
--HG--
extra : rebase_source : 5494b04d773badadc2c33fd90ae67cad90aa88d3
2015-02-18 18:49:17 -06:00
Jason Orendorff 63891dbbf5 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").

--HG--
extra : rebase_source : fbf30988ed48412a10168e359848940123035e0f
2015-02-02 17:06:47 -06:00
Jason Orendorff 85abad51f2 Bug 1130576 - Rename JSPropertyOp -> JSGetterOp and JSStrictPropertyOp -> JSSetterOp. r=efaust.
--HG--
extra : rebase_source : 44edb174028da6dbd637975e6358112060de535b
extra : amend_source : dd79490550af1370dac037057bdc2c06cb4c71f5
2015-01-30 13:56:15 -06:00
Brian Hackett d78cece7dd Bug 1121554 - Include receiver argument in setProperty hooks, r=jorendorff. 2015-02-14 08:50:48 -07:00
Tom Schuster 797b78de4b Bug 1124934 - Add a HasProperty ObjectOp. r=jorendorff 2015-02-13 12:20:02 +01:00
Tom Schuster 43324bd36f 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 8f9fef2147 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 c70b84f630 Bug 1111243 - Implement ES6 proxy behavior for IsArray. r=efaust 2015-01-25 21:42:10 +01:00
Tom Schuster 7f95393f87 Bug 1122619 - Remove getPropertyAttributes object ops. r=jorendorff 2015-01-24 16:38:08 +01:00
Tom Schuster 269e651092 Bug 1122552 - Introduce [[GetOwnProperty]] object op. r=jorendorff,bz 2015-01-22 17:17:26 +01:00
ProgramFOX df5586d909 Bug 1031203 - Implemented float64x2. r=bbouvier 2015-01-16 17:17:37 +01:00
Ryan VanderMeulen c04595cbcf 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 ce02406f0a Bug 1031203 - Implemented float64x2. r=bbouvier 2015-01-14 19:21:22 +01:00
Jason Orendorff e1ed44a395 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 bf312ad056 Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Terrence Cole 91d590c9fb 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 0c4c1b681f Bug 1097267 - Change to the simpler enumerate hook in the js engine. r=jorendorff 2014-12-11 19:31:10 +01:00
Jason Orendorff 92f1bf16c5 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 4e904df02d 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 88b1d4572f 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 cc421a900c Bug 993026 - Simplify JS resolve hook. r=jorendorff 2014-11-08 01:07:12 +01:00
Tom Schuster 2c44e0efbc 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 f54f0723f9 Backed out changeset dc265cc31095 (bug 1091900) 2014-11-06 09:11:18 +01:00
Tom Schuster 999d8504a5 Bug 1091900 - Remove iteratorObject hook. r=jorendorff 2014-11-05 20:36:49 +01:00
Jeff Walden fffb54d187 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 27ce20abe8 Bug 650161 - Fix crashes moving partially initialized DOM objects r=bz 2014-10-28 10:18:36 +00:00
Jon Coppeard a3adff24a8 Bug 650161 - Relocate global objects (browser changes) r=bholley 2014-10-20 09:07:43 +01:00
Jon Coppeard 2013670e0e Bug 650161 - We don't need an objectMoved hook for global objects r=terrence 2014-09-29 09:50:17 +01:00
Terrence Cole db9616cb01 Bug 1064346 - JSFunction's extended attributes expect POD-style initialization. r=billm 2014-09-10 15:42:36 -07:00
Jeff Walden 3c33ef9a25 Bug 896116 - Morph the dependent-JSProtoKey system to explicitly store a JSProtoKey, rather than relying on a system where a single class represents the parent and dependent both. Also convert error objects (Error, RangeError, &c.) to be represented by multiple classes, not a single one. r=bholley, r=till
--HG--
extra : rebase_source : 1d1913c49ae58be86e991077bda96684c6afb941
2014-09-18 20:06:32 -07:00
Lars T Hansen ef7ed4ebde Bug 1054882 - Rollup patch. r=till, r=sstangl, r=jorendorff 2014-09-16 18:45:31 +02:00
Eric Faust 385660b12e Bug 966518 - Part 0: Make proxy callability into a trap, rather than a class check. (r=bholley, r=djvj, r=peterv) 2014-09-10 15:52:36 -07:00
Chris Peterson d126c3c24f Bug 1063962 - Replace jschar typedef with C++11 char16_t type. r=jandem 2014-07-21 21:43:21 -07:00
Jon Coppeard 9f938c20cc Bug 650161 - Add a class hook that's called when an object is moved r=terrence 2014-09-02 11:07:22 +02:00
Bobby Holley 5e44b4c25a Bug 1050340 - Handle object and array. r=luke 2014-08-18 14:18:39 -07:00
Bobby Holley f69cb3da4a Bug 1050340 - Handle maps and sets. r=luke 2014-08-18 14:18:39 -07:00