зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1109888. ICGetPropCallDOMProxyNativeStub should inherit from ICGetPropCallGetter so we have our holder/holdershape/etc accessible the same way across all the JSNative getter stubs. r=efaust
This commit is contained in:
Родитель
11b9b1a652
Коммит
67361f102e
|
@ -11603,7 +11603,9 @@ ICGetPropCallGetter::ICGetPropCallGetter(Kind kind, JitCode *stubCode, ICStub *f
|
|||
{
|
||||
MOZ_ASSERT(kind == ICStub::GetProp_CallScripted ||
|
||||
kind == ICStub::GetProp_CallNative ||
|
||||
kind == ICStub::GetProp_CallNativePrototype);
|
||||
kind == ICStub::GetProp_CallNativePrototype ||
|
||||
kind == ICStub::GetProp_CallDOMProxyNative ||
|
||||
kind == ICStub::GetProp_CallDOMProxyWithGenerationNative);
|
||||
}
|
||||
|
||||
ICGetPropCallPrototypeGetter::ICGetPropCallPrototypeGetter(Kind kind, JitCode *stubCode,
|
||||
|
@ -11868,14 +11870,11 @@ ICGetPropCallDOMProxyNativeStub::ICGetPropCallDOMProxyNativeStub(Kind kind, JitC
|
|||
HandleShape holderShape,
|
||||
HandleFunction getter,
|
||||
uint32_t pcOffset)
|
||||
: ICMonitoredStub(kind, stubCode, firstMonitorStub),
|
||||
: ICGetPropCallGetter(kind, stubCode, firstMonitorStub, holder, holderShape,
|
||||
getter, pcOffset),
|
||||
shape_(shape),
|
||||
proxyHandler_(proxyHandler),
|
||||
expandoShape_(expandoShape),
|
||||
holder_(holder),
|
||||
holderShape_(holderShape),
|
||||
getter_(getter),
|
||||
pcOffset_(pcOffset)
|
||||
expandoShape_(expandoShape)
|
||||
{ }
|
||||
|
||||
ICGetPropCallDOMProxyNativeCompiler::ICGetPropCallDOMProxyNativeCompiler(JSContext *cx,
|
||||
|
|
|
@ -4955,7 +4955,7 @@ class ICGetProp_CallNativePrototype : public ICGetPropCallPrototypeGetter
|
|||
};
|
||||
};
|
||||
|
||||
class ICGetPropCallDOMProxyNativeStub : public ICMonitoredStub
|
||||
class ICGetPropCallDOMProxyNativeStub : public ICGetPropCallGetter
|
||||
{
|
||||
friend class ICStubSpace;
|
||||
protected:
|
||||
|
@ -4968,16 +4968,6 @@ class ICGetPropCallDOMProxyNativeStub : public ICMonitoredStub
|
|||
// Object shape of expected expando object. (nullptr if no expando object should be there)
|
||||
HeapPtrShape expandoShape_;
|
||||
|
||||
// Holder and its shape.
|
||||
HeapPtrObject holder_;
|
||||
HeapPtrShape holderShape_;
|
||||
|
||||
// Function to call.
|
||||
HeapPtrFunction getter_;
|
||||
|
||||
// PC offset of call
|
||||
uint32_t pcOffset_;
|
||||
|
||||
ICGetPropCallDOMProxyNativeStub(ICStub::Kind kind, JitCode *stubCode,
|
||||
ICStub *firstMonitorStub, HandleShape shape,
|
||||
const BaseProxyHandler *proxyHandler, HandleShape expandoShape,
|
||||
|
@ -4991,19 +4981,6 @@ class ICGetPropCallDOMProxyNativeStub : public ICMonitoredStub
|
|||
HeapPtrShape &expandoShape() {
|
||||
return expandoShape_;
|
||||
}
|
||||
HeapPtrObject &holder() {
|
||||
return holder_;
|
||||
}
|
||||
HeapPtrShape &holderShape() {
|
||||
return holderShape_;
|
||||
}
|
||||
HeapPtrFunction &getter() {
|
||||
return getter_;
|
||||
}
|
||||
uint32_t pcOffset() const {
|
||||
return pcOffset_;
|
||||
}
|
||||
|
||||
static size_t offsetOfShape() {
|
||||
return offsetof(ICGetPropCallDOMProxyNativeStub, shape_);
|
||||
}
|
||||
|
@ -5013,18 +4990,6 @@ class ICGetPropCallDOMProxyNativeStub : public ICMonitoredStub
|
|||
static size_t offsetOfExpandoShape() {
|
||||
return offsetof(ICGetPropCallDOMProxyNativeStub, expandoShape_);
|
||||
}
|
||||
static size_t offsetOfHolder() {
|
||||
return offsetof(ICGetPropCallDOMProxyNativeStub, holder_);
|
||||
}
|
||||
static size_t offsetOfHolderShape() {
|
||||
return offsetof(ICGetPropCallDOMProxyNativeStub, holderShape_);
|
||||
}
|
||||
static size_t offsetOfGetter() {
|
||||
return offsetof(ICGetPropCallDOMProxyNativeStub, getter_);
|
||||
}
|
||||
static size_t offsetOfPCOffset() {
|
||||
return offsetof(ICGetPropCallDOMProxyNativeStub, pcOffset_);
|
||||
}
|
||||
};
|
||||
|
||||
class ICGetProp_CallDOMProxyNative : public ICGetPropCallDOMProxyNativeStub
|
||||
|
|
Загрузка…
Ссылка в новой задаче