mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1238679 - Put JSJitInfo::depth in anonymous union. r=nbp
Add a JSJitInfo::nativeOp field which will be used to identify SIMD operations.
This commit is contained in:
parent
0da0c6a300
commit
21c90276e2
@ -8772,7 +8772,7 @@ class CGMemberJITInfo(CGThing):
|
||||
{
|
||||
{ ${opName} },
|
||||
{ prototypes::id::${name} },
|
||||
PrototypeTraits<prototypes::id::${name}>::Depth,
|
||||
{ PrototypeTraits<prototypes::id::${name}>::Depth },
|
||||
JSJitInfo::${opType},
|
||||
JSJitInfo::${aliasSet}, /* aliasSet. Not relevant for setters. */
|
||||
${returnType}, /* returnType. Not relevant for setters. */
|
||||
@ -9152,7 +9152,7 @@ class CGStaticMethodJitinfo(CGGeneric):
|
||||
"\n"
|
||||
"static const JSJitInfo %s_methodinfo = {\n"
|
||||
" { (JSJitGetterOp)%s },\n"
|
||||
" { prototypes::id::_ID_Count }, 0, JSJitInfo::StaticMethod,\n"
|
||||
" { prototypes::id::_ID_Count }, { 0 }, JSJitInfo::StaticMethod,\n"
|
||||
" JSJitInfo::AliasEverything, JSVAL_TYPE_MISSING, false, false,\n"
|
||||
" false, false, 0\n"
|
||||
"};\n" %
|
||||
|
@ -3696,7 +3696,7 @@ IonBuilder::inlineSimdStore(CallInfo& callInfo, JSNative native, SimdTypeDescr::
|
||||
}
|
||||
|
||||
#define ADD_NATIVE(native) const JSJitInfo JitInfo_##native { \
|
||||
{ nullptr }, { uint16_t(InlinableNative::native) }, 0, JSJitInfo::InlinableNative };
|
||||
{ nullptr }, { uint16_t(InlinableNative::native) }, { 0 }, JSJitInfo::InlinableNative };
|
||||
INLINABLE_NATIVE_LIST(ADD_NATIVE)
|
||||
#undef ADD_NATIVE
|
||||
|
||||
|
@ -2339,7 +2339,12 @@ struct JSJitInfo {
|
||||
js::jit::InlinableNative inlinableNative;
|
||||
};
|
||||
|
||||
uint16_t depth;
|
||||
union {
|
||||
uint16_t depth;
|
||||
|
||||
// Additional opcode for some InlinableNative functions.
|
||||
uint16_t nativeOp;
|
||||
};
|
||||
|
||||
// These fields are carefully packed to take up 4 bytes. If you need more
|
||||
// bits for whatever reason, please see if you can steal bits from existing
|
||||
|
@ -5652,7 +5652,7 @@ dom_doFoo(JSContext* cx, HandleObject obj, void* self, const JSJitMethodCallArgs
|
||||
static const JSJitInfo dom_x_getterinfo = {
|
||||
{ (JSJitGetterOp)dom_get_x },
|
||||
{ 0 }, /* protoID */
|
||||
0, /* depth */
|
||||
{ 0 }, /* depth */
|
||||
JSJitInfo::AliasNone, /* aliasSet */
|
||||
JSJitInfo::Getter,
|
||||
JSVAL_TYPE_UNKNOWN, /* returnType */
|
||||
@ -5668,7 +5668,7 @@ static const JSJitInfo dom_x_getterinfo = {
|
||||
static const JSJitInfo dom_x_setterinfo = {
|
||||
{ (JSJitGetterOp)dom_set_x },
|
||||
{ 0 }, /* protoID */
|
||||
0, /* depth */
|
||||
{ 0 }, /* depth */
|
||||
JSJitInfo::Setter,
|
||||
JSJitInfo::AliasEverything, /* aliasSet */
|
||||
JSVAL_TYPE_UNKNOWN, /* returnType */
|
||||
@ -5684,7 +5684,7 @@ static const JSJitInfo dom_x_setterinfo = {
|
||||
static const JSJitInfo doFoo_methodinfo = {
|
||||
{ (JSJitGetterOp)dom_doFoo },
|
||||
{ 0 }, /* protoID */
|
||||
0, /* depth */
|
||||
{ 0 }, /* depth */
|
||||
JSJitInfo::Method,
|
||||
JSJitInfo::AliasEverything, /* aliasSet */
|
||||
JSVAL_TYPE_UNKNOWN, /* returnType */
|
||||
|
Loading…
Reference in New Issue
Block a user