gecko-dev/js/public
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
..
CallArgs.h Bug 1119230 - remove lingering JIT code for PJS. r=shu 2015-01-14 09:21:59 +01:00
CallNonGenericMethod.h Bug 964016 - Part 4: Replace JS_ALWAYS_INLINE with MOZ_ALWAYS_INLINE. r=luke 2014-01-24 20:14:56 -08:00
CharacterEncoding.h Bug 1025184 - Make ConstTwoByteChars a Range. r=jandem 2015-02-10 12:52:18 +09:00
Class.h Bug 1142794 - Change 'receiver' argument to SetProperty functions and ProxyHandler::set methods to be a HandleValue. r=Waldo. 2015-03-01 13:16:19 -06:00
Conversions.h Bug 1112774 - Add a raft of other conversion methods to js/public/Conversions.h past just JS::ToObject. r=jorendorff 2014-12-17 13:50:20 -08:00
Date.h
Debug.h Bug 1120796 - Part 2: Replace ConvertibleToBool hackarounds with explicit bool operators. r=Waldo 2015-02-03 18:52:36 +02:00
GCAPI.h Backed out changeset cd6461410a7a (bug 1130439) for frequent SM test timeouts/failures. 2015-02-24 15:11:08 -05:00
HashTable.h Bug 1143521 - Remove IsPoisonedPtr stuff, r=sfink. 2015-03-18 18:01:35 -07:00
HeapAPI.h Bug 1120796 - Part 2: Replace ConvertibleToBool hackarounds with explicit bool operators. r=Waldo 2015-02-03 18:52:36 +02:00
Id.h Bug 1143521 - Remove IsPoisonedPtr stuff, r=sfink. 2015-03-18 18:01:35 -07:00
LegacyIntTypes.h
MemoryMetrics.h Backed out changeset d3c9b899f7d2 (bug 1143256) for frequent browser_perf-refresh.js leaks. 2015-03-20 16:07:42 -04:00
Principals.h Bug 1045945 - Initialize the destroy principals callback for workers r=bent 2014-09-15 16:49:11 +01:00
ProfilingFrameIterator.h Bug 1143860 - Deduplicate tracked optimizations when streaming the profile. (r=djvj) 2015-03-20 20:48:31 -07:00
ProfilingStack.h Bug 1111290 - Part 3: Remove TypedEnum.h and fold TypedEnumInternal.h into TypedEnumBits.h. r=waldo 2015-01-26 07:22:11 +09:00
Proxy.h Bug 1142794 - Change 'receiver' argument to SetProperty functions and ProxyHandler::set methods to be a HandleValue. r=Waldo. 2015-03-01 13:16:19 -06:00
RequiredDefines.h Bug 956601 - Add Char16.h to RequiredDefines.h so that SpiderMonkey standalone works again, in compilers without native char16_t support. r=sstangl 2014-01-05 18:05:11 -06:00
RootingAPI.h Bug 1143521 - Remove IsPoisonedPtr stuff, r=sfink. 2015-03-18 18:01:35 -07:00
SliceBudget.h Bug 1084651 - Part 6: Rename SliceBudget::reset to the less misleading makeUnlimited. r=billm 2014-11-04 07:35:00 +01:00
StructuredClone.h Bug 1130031 - Better serialization for non-transferable objects from workers to main-thread in the console API, r=sfink 2015-02-05 18:50:43 +00:00
TracingAPI.h Bug 1125930 - Rename TypeObject to ObjectGroup, r=jandem. 2015-02-02 11:20:38 -07:00
TrackedOptimizationInfo.h Bug 1145440 - Ship constant names for tracked strategy and outcomes in the profile JSON instead of slightly longer form strings. (r=djvj) 2015-03-20 20:48:32 -07:00
TypeDecls.h Bug 1063962 - Replace jschar typedef with C++11 char16_t type. r=jandem 2014-07-21 21:43:21 -07:00
UbiNode.h Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj 2015-03-21 12:28:04 -04:00
UbiNodeTraverse.h Bug 1082761 - Add Debugger.prototype.findObjects; r=jimb 2014-10-15 19:21:00 +02:00
Utility.h Bug 1143521 - Remove IsPoisonedPtr stuff, r=sfink. 2015-03-18 18:01:35 -07:00
Value.h Bug 1143521 - Remove IsPoisonedPtr stuff, r=sfink. 2015-03-18 18:01:35 -07:00
Vector.h Bug 1013663 - Fix some bad implicit conversion constructors in the JS engine; r=jorendorff,jandem 2014-05-25 21:46:24 -04:00
WeakMapPtr.h Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo 2015-01-08 23:19:05 -05:00