Commit Graph

2380 Commits

Author SHA1 Message Date
Jim Blandy
b17c01fc91 Bug 1062473: Make JSObject::allocKindForTenure out of GetObjectAllocKindForCopy. r=terrence 2015-04-01 17:57:41 -07:00
Jason Orendorff
86106d5b7f Bug 1150906 - Fix "Assertion failure: !has(SHADOWABLE)" and subsequent GC crashes introduced in rev 034027f41aaf. r=Waldo. 2015-04-07 15:44:09 -05:00
Brian Hackett
22c2ea997d Bug 1148916 - Remove MaybeSingletonObject NewObjectKind, r=terrence. 2015-04-07 05:50:00 -06:00
Terrence Cole
266d818bdd Bug 1149352 - Part 8: Move Object marking to TraceEdge; r=jonco 2015-03-30 16:08:06 -07:00
Terrence Cole
271c7cbb0e Bug 1149352 - Part 5: Move ObjectGroup marking to TraceEdge; r=jonco 2015-03-30 15:14:23 -07:00
Terrence Cole
815a6bef1d Bug 1149352 - Part 2: Move Shape marking to TraceEdge; r=jonco 2015-03-30 15:14:23 -07:00
Tom Schuster
f38aa35e94 Bug 1125302 - Remove NativeLookupProperty. r=luke 2015-04-03 21:23:22 +02:00
Tom Schuster
2fea300f05 Bug 1125567 - Remove FindClassPrototype/FindClassObject. r=jorendorff 2015-04-03 17:01:14 +02:00
Jason Orendorff
981d55dd40 Bug 1148652, part 2 - Use mostly-compliant code for defining TypedArray elements, already used from StandardDefineProperty, in NativeDefineProperty as well. r=efaust. 2015-03-23 14:32:31 -05:00
Jason Orendorff
ad45aac07c Bug 1138499, part 1 - Assert some basic rules on property descriptors on entry to DefineProperty and exit from GetOwnPropertyDescriptor. r=Waldo. 2015-03-23 14:32:27 -05:00
Wes Kocher
67151d7c75 Backed out 20 changesets (bug 1138499, bug 1148750, bug 1149563, bug 1148652, bug 1123875, bug 1145636, bug 1147660, bug 1148568, bug 1142828) for talos other timeouts CLOSED TREE
Backed out changeset 3fc49391f7fe (bug 1148750)
Backed out changeset 75e867c1c39e (bug 1148750)
Backed out changeset 7f6a4e3976f0 (bug 1148750)
Backed out changeset 91d726011835 (bug 1149563)
Backed out changeset fc7c3cf0e526 (bug 1148652)
Backed out changeset 35a01c7e0f8d (bug 1148652)
Backed out changeset 3125cc5a7a65 (bug 1148652)
Backed out changeset a9f10724b83b (bug 1148568)
Backed out changeset 87132a806ab0 (bug 1147660)
Backed out changeset e6b410c7b847 (bug 1147660)
Backed out changeset c350fe54d9c0 (bug 1147660)
Backed out changeset e4b971996b94 (bug 1147660)
Backed out changeset f221db19fb75 (bug 1147660)
Backed out changeset c4599f0cff00 (bug 1142828)
Backed out changeset c7388a9c3935 (bug 1138499)
Backed out changeset 9b51b38317d6 (bug 1138499)
Backed out changeset ad243a3cd06f (bug 1138499)
Backed out changeset fafda276abd9 (bug 1138499)
Backed out changeset 0a00470fdc2a (bug 1145636)
Backed out changeset 06dbe25231c2 (bug 1123875)
2015-04-01 19:17:45 -07:00
Jason Orendorff
3ca1b44d24 Bug 1148750, part 3 - Rewrite the rest of NativeDefineProperty. At this point it stops being practical to continue in small chunks. r=efaust. 2015-03-23 14:32:31 -05:00
Jason Orendorff
1696849b2f Bug 1148652, part 2 - Use mostly-compliant code for defining TypedArray elements, already used from StandardDefineProperty, in NativeDefineProperty as well. r=efaust. 2015-03-23 14:32:31 -05:00
Jason Orendorff
b2b5fab6c2 Bug 1138499, part 1 - Assert some basic rules on property descriptors on entry to DefineProperty and exit from GetOwnPropertyDescriptor. r=Waldo. 2015-03-23 14:32:27 -05:00
Tom Schuster
6910bcc31c Bug 1147005 - Change JSAddPropertyOp signature. r=jorendorff,peterv 2015-03-28 14:47:02 +01:00
Terrence Cole
5647e57320 Bug 1147588 - Replace slots marking functions with TraceEdge; r=jonco 2015-03-26 10:23:26 -07:00
Brian Hackett
a6ac744c4d Bug 1142843 - Optimize accesses through prototypes with typed object receivers in baseline and ion, r=jandem. 2015-03-28 17:03:45 -07:00
Jan de Mooij
c6596c5fa8 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 23:22:11 +01:00
Emanuel Hoogeveen
d0be27189f Bug 1148214 - Replace manual AllocKind range checks with a few centralized functions. r=terrence 2015-03-26 17:07:00 -04:00
Phil Ringnalda
9ddefdd9e2 Backed out 7 changesets (bug 1147588, bug 1147669, bug 1147533, bug 1147665, bug 1135985, bug 1147180, bug 1147670) for frequent 10.10 devtools-2 GC assertion failures
CLOSED TREE

Backed out changeset 0bd8c4ec41fa (bug 1147670)
Backed out changeset 35ad82ff9ee7 (bug 1147669)
Backed out changeset ffe7f2e2a0f0 (bug 1147665)
Backed out changeset 37c42cff2c01 (bug 1147588)
Backed out changeset be4138f208ba (bug 1147533)
Backed out changeset 6bbd529bd995 (bug 1147180)
Backed out changeset 853e3ad56dad (bug 1135985)
2015-03-28 10:41:32 -07:00
Phil Ringnalda
1a1c158706 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
529df7748d 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
023b3ef599 Bug 1147005 - Change JSAddPropertyOp signature. r=jorendorff,peterv 2015-03-28 14:47:02 +01:00
Jan de Mooij
369ef1b850 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Terrence Cole
6acee0d293 Bug 1147588 - Replace slots marking functions with TraceEdge; r=jonco 2015-03-26 10:23:26 -07:00
Jason Orendorff
a62fc1c850 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
43fc5cd147 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
Jason Orendorff
f8862424e5 Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo. 2015-02-17 11:58:43 -06:00
Brian Hackett
6d9f789b99 Bug 1143256 - Store object metadata using a weak map, r=luke. 2015-03-25 09:07:51 -07:00
Boris Zbarsky
71a1f41921 Bug 1146472 part 1. Don't do object-kind guessing for object literal templates in scripts, since we in fact know exactly how many slots we want them to have and hence what the kind should be. r=terrence 2015-03-23 20:37:30 -04:00
Phil Ringnalda
2b0920d57e 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
f3c165da67 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
04d0f0a719 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
Jason Orendorff
0c2cf8be27 Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo. 2015-02-17 11:58:43 -06:00
Ryan VanderMeulen
f274f35656 Backed out changeset d3c9b899f7d2 (bug 1143256) for frequent browser_perf-refresh.js leaks. 2015-03-20 16:07:42 -04:00
Brian Hackett
6ff7784fe1 Bug 1143256 - Store object metadata using a weak map, r=luke. 2015-03-20 06:33:33 -07:00
Boris Zbarsky
d1b5b7492a Bug 1144743 part 5. Set the hasPollutedGlobalScope flag correctly when cloning functions. r=luke 2015-03-20 00:34:07 -04:00
Brian Hackett
760adae2f5 Bug 1137180 - Add most functionality necessary for extensible unboxed objects, r=jandem. 2015-03-18 18:05:51 -07:00
Boris Zbarsky
489cabd665 Bug 1144452. Print the global in JSObject::dump. r=waldo 2015-03-18 09:24:13 -04:00
Boris Zbarsky
9e6d0fafea Bug 1135963. Allow JS_InitializePropertiesFromCompatibleNativeObject to deal with objects that have different prototypes. r=bhackett 2015-03-18 09:24:13 -04:00
Ryan VanderMeulen
a4188d7c12 Backed out changeset df82a0b667bb (bug 1137180) for causing intermittent crashes. 2015-03-16 13:17:19 -04:00
Brian Hackett
096b0b0095 Bug 1137180 - Allow unboxed objects to be extended with new properties, r=jandem. 2015-03-15 14:26:42 -06:00
Daniel Holbert
67efbd7cfc Bug 1143244: return false instead of nullptr, in failure case within js::XDRObjectLiteral(). r=bhackett 2015-03-13 23:00:02 -07:00
Boris Zbarsky
4f37d6fcf0 Bug 805052 part 3. Remove parents from SpiderMonkey. r=waldo,terrence 2015-03-14 01:36:17 -04:00
Boris Zbarsky
1f8be924ba Bug 805052 part 1. Remove assertParentIs. r=waldo 2015-03-14 01:36:17 -04:00
Boris Zbarsky
535ec72ba4 Bug 1142864. Remove the parent argument from NewObject. r=waldo 2015-03-14 01:36:17 -04:00
Boris Zbarsky
f215180e9a Bug 1142865. Remove the parent argument from NewObjectWithGroup. r=waldo 2015-03-14 01:36:17 -04:00
Boris Zbarsky
859ffb984e Bug 1142304. Remove the parent argument from NewObjectWithGivenTaggedProto. r=waldo 2015-03-14 01:36:17 -04:00
Boris Zbarsky
c848a61dd2 Bug 1142309. Remove the parent argument from NewObjectWithClassProto. r=waldo 2015-03-14 01:36:17 -04:00
Emanuel Hoogeveen
a1c6820032 Bug 1139552 - Convert js::gc::AllocKind to an enum class and eliminate non-AllocKind indexing. r=terrence 2015-03-13 02:13:00 +01:00