Skip to content

Commit 7aa25ac

Browse files
committed
Bug 1270746 part 5 - Remove hasInstance class hook. r=iain
Code should use `Symbol.hasInstance` to customize `instanceof` behavior. Differential Revision: https://phabricator.services.mozilla.com/D141346
1 parent b1c10b9 commit 7aa25ac

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+0
-116
lines changed

dom/bindings/BindingUtils.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2107,7 +2107,6 @@ const JSClassOps sBoringInterfaceObjectClassClassOps = {
21072107
nullptr, /* mayResolve */
21082108
nullptr, /* finalize */
21092109
ThrowingConstructor, /* call */
2110-
nullptr, /* hasInstance */
21112110
ThrowingConstructor, /* construct */
21122111
nullptr, /* trace */
21132112
};

dom/bindings/Codegen.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,6 @@ def define(self):
690690
${mayResolve}, /* mayResolve */
691691
${finalize}, /* finalize */
692692
${call}, /* call */
693-
nullptr, /* hasInstance */
694693
nullptr, /* construct */
695694
${trace}, /* trace */
696695
};
@@ -976,7 +975,6 @@ def define(self):
976975
nullptr, /* mayResolve */
977976
nullptr, /* finalize */
978977
${ctorname}, /* call */
979-
nullptr, /* hasInstance */
980978
${ctorname}, /* construct */
981979
nullptr, /* trace */
982980
};

dom/bindings/SimpleGlobalObject.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ static const JSClassOps SimpleGlobalClassOps = {
6969
SimpleGlobal_finalize,
7070
nullptr,
7171
nullptr,
72-
nullptr,
7372
JS_GlobalObjectTraceHook,
7473
};
7574

js/public/Class.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -297,14 +297,6 @@ typedef bool (*JSMayResolveOp)(const JSAtomState& names, jsid id,
297297
*/
298298
typedef void (*JSFinalizeOp)(JS::GCContext* gcx, JSObject* obj);
299299

300-
/**
301-
* Check whether v is an instance of obj. Return false on error or exception,
302-
* true on success with true in *bp if v is an instance of obj, false in
303-
* *bp otherwise.
304-
*/
305-
typedef bool (*JSHasInstanceOp)(JSContext* cx, JS::HandleObject obj,
306-
JS::MutableHandleValue vp, bool* bp);
307-
308300
/**
309301
* Function type for trace operation of the class called to enumerate all
310302
* traceable things reachable from obj's private data structure. For each such
@@ -608,7 +600,6 @@ struct MOZ_STATIC_CLASS JSClassOps {
608600
JSMayResolveOp mayResolve;
609601
JSFinalizeOp finalize;
610602
JSNative call;
611-
JSHasInstanceOp hasInstance;
612603
JSNative construct;
613604
JSTraceOp trace;
614605
};
@@ -643,9 +634,6 @@ struct alignas(js::gc::JSClassAlignBytes) JSClass {
643634
return cOps ? cOps->mayResolve : nullptr;
644635
}
645636
JSNative getCall() const { return cOps ? cOps->call : nullptr; }
646-
JSHasInstanceOp getHasInstance() const {
647-
return cOps ? cOps->hasInstance : nullptr;
648-
}
649637
JSNative getConstruct() const { return cOps ? cOps->construct : nullptr; }
650638

651639
bool hasFinalize() const { return cOps && cOps->finalize; }

js/src/builtin/Array.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4594,7 +4594,6 @@ static const JSClassOps ArrayObjectClassOps = {
45944594
nullptr, // mayResolve
45954595
nullptr, // finalize
45964596
nullptr, // call
4597-
nullptr, // hasInstance
45984597
nullptr, // construct
45994598
nullptr, // trace
46004599
};

js/src/builtin/DataViewObject.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -945,7 +945,6 @@ static const JSClassOps DataViewObjectClassOps = {
945945
nullptr, // mayResolve
946946
nullptr, // finalize
947947
nullptr, // call
948-
nullptr, // hasInstance
949948
nullptr, // construct
950949
ArrayBufferViewObject::trace, // trace
951950
};

js/src/builtin/FinalizationRegistryObject.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ const JSClassOps FinalizationRegistrationsObject::classOps_ = {
9898
nullptr, // mayResolve
9999
FinalizationRegistrationsObject::finalize, // finalize
100100
nullptr, // call
101-
nullptr, // hasInstance
102101
nullptr, // construct
103102
FinalizationRegistrationsObject::trace, // trace
104103
};
@@ -211,7 +210,6 @@ const JSClassOps FinalizationRegistryObject::classOps_ = {
211210
nullptr, // mayResolve
212211
FinalizationRegistryObject::finalize, // finalize
213212
nullptr, // call
214-
nullptr, // hasInstance
215213
nullptr, // construct
216214
FinalizationRegistryObject::trace, // trace
217215
};
@@ -651,7 +649,6 @@ const JSClassOps FinalizationQueueObject::classOps_ = {
651649
nullptr, // mayResolve
652650
FinalizationQueueObject::finalize, // finalize
653651
nullptr, // call
654-
nullptr, // hasInstance
655652
nullptr, // construct
656653
FinalizationQueueObject::trace, // trace
657654
};

js/src/builtin/MapObject.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,6 @@ static const JSClassOps MapIteratorObjectClassOps = {
193193
nullptr, // mayResolve
194194
MapIteratorObject::finalize, // finalize
195195
nullptr, // call
196-
nullptr, // hasInstance
197196
nullptr, // construct
198197
nullptr, // trace
199198
};
@@ -433,7 +432,6 @@ const JSClassOps MapObject::classOps_ = {
433432
nullptr, // mayResolve
434433
finalize, // finalize
435434
nullptr, // call
436-
nullptr, // hasInstance
437435
nullptr, // construct
438436
trace, // trace
439437
};
@@ -1007,7 +1005,6 @@ static const JSClassOps SetIteratorObjectClassOps = {
10071005
nullptr, // mayResolve
10081006
SetIteratorObject::finalize, // finalize
10091007
nullptr, // call
1010-
nullptr, // hasInstance
10111008
nullptr, // construct
10121009
nullptr, // trace
10131010
};
@@ -1215,7 +1212,6 @@ const JSClassOps SetObject::classOps_ = {
12151212
nullptr, // mayResolve
12161213
finalize, // finalize
12171214
nullptr, // call
1218-
nullptr, // hasInstance
12191215
nullptr, // construct
12201216
trace, // trace
12211217
};

js/src/builtin/ModuleObject.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -775,7 +775,6 @@ void ModuleNamespaceObject::ProxyHandler::finalize(JS::GCContext* gcx,
775775
nullptr, // mayResolve
776776
ModuleObject::finalize, // finalize
777777
nullptr, // call
778-
nullptr, // hasInstance
779778
nullptr, // construct
780779
ModuleObject::trace, // trace
781780
};

js/src/builtin/RecordObject.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ static const JSClassOps RecordObjectClassOps = {
6868
nullptr, // mayResolve
6969
nullptr, // finalize
7070
nullptr, // call
71-
nullptr, // hasInstance
7271
nullptr, // construct
7372
nullptr, // trace
7473
};

0 commit comments

Comments
 (0)