Bug 1483275 - Remove duplicate VMFunction definitions. r=jandem

MozReview-Commit-ID: 6Jyq1sfaWjV
This commit is contained in:
Ted Campbell 2018-08-14 10:40:53 -04:00
parent 62b5f5fe0c
commit f248480bee
5 changed files with 49 additions and 74 deletions

View File

@ -651,10 +651,6 @@ BaselineCacheIRCompiler::emitCallNativeGetterResult()
return true;
}
typedef bool (*ProxyGetPropertyFn)(JSContext*, HandleObject, HandleId, MutableHandleValue);
static const VMFunction ProxyGetPropertyInfo =
FunctionInfo<ProxyGetPropertyFn>(ProxyGetProperty, "ProxyGetProperty");
bool
BaselineCacheIRCompiler::emitCallProxyGetResult()
{
@ -681,10 +677,6 @@ BaselineCacheIRCompiler::emitCallProxyGetResult()
return true;
}
typedef bool (*ProxyGetPropertyByValueFn)(JSContext*, HandleObject, HandleValue, MutableHandleValue);
static const VMFunction ProxyGetPropertyByValueInfo =
FunctionInfo<ProxyGetPropertyByValueFn>(ProxyGetPropertyByValue, "ProxyGetPropertyByValue");
bool
BaselineCacheIRCompiler::emitCallProxyGetByValueResult()
{
@ -708,12 +700,6 @@ BaselineCacheIRCompiler::emitCallProxyGetByValueResult()
return true;
}
typedef bool (*ProxyHasFn)(JSContext*, HandleObject, HandleValue, MutableHandleValue);
static const VMFunction ProxyHasInfo = FunctionInfo<ProxyHasFn>(ProxyHas, "ProxyHas");
typedef bool (*ProxyHasOwnFn)(JSContext*, HandleObject, HandleValue, MutableHandleValue);
static const VMFunction ProxyHasOwnInfo = FunctionInfo<ProxyHasOwnFn>(ProxyHasOwn, "ProxyHasOwn");
bool
BaselineCacheIRCompiler::emitCallProxyHasPropResult()
{
@ -898,11 +884,6 @@ BaselineCacheIRCompiler::emitLoadStringResult()
return true;
}
typedef bool (*StringSplitHelperFn)(JSContext*, HandleString, HandleString, HandleObjectGroup,
uint32_t limit, MutableHandleValue);
static const VMFunction StringSplitHelperInfo =
FunctionInfo<StringSplitHelperFn>(StringSplitHelper, "StringSplitHelper");
bool
BaselineCacheIRCompiler::emitCallStringSplitResult()
{
@ -1795,10 +1776,6 @@ BaselineCacheIRCompiler::emitCallScriptedSetter()
return true;
}
typedef bool (*SetArrayLengthFn)(JSContext*, HandleObject, HandleValue, bool);
static const VMFunction SetArrayLengthInfo =
FunctionInfo<SetArrayLengthFn>(SetArrayLength, "SetArrayLength");
bool
BaselineCacheIRCompiler::emitCallSetArrayLength()
{
@ -1824,10 +1801,6 @@ BaselineCacheIRCompiler::emitCallSetArrayLength()
return true;
}
typedef bool (*ProxySetPropertyFn)(JSContext*, HandleObject, HandleId, HandleValue, bool);
static const VMFunction ProxySetPropertyInfo =
FunctionInfo<ProxySetPropertyFn>(ProxySetProperty, "ProxySetProperty");
bool
BaselineCacheIRCompiler::emitCallProxySet()
{
@ -1858,10 +1831,6 @@ BaselineCacheIRCompiler::emitCallProxySet()
return true;
}
typedef bool (*ProxySetPropertyByValueFn)(JSContext*, HandleObject, HandleValue, HandleValue, bool);
static const VMFunction ProxySetPropertyByValueInfo =
FunctionInfo<ProxySetPropertyByValueFn>(ProxySetPropertyByValue, "ProxySetPropertyByValue");
bool
BaselineCacheIRCompiler::emitCallProxySetByValue()
{
@ -2384,10 +2353,6 @@ ICCacheIR_Updated::Clone(JSContext* cx, ICStubSpace* space, ICStub* firstMonitor
return res;
}
typedef JSString* (*ConcatStringsFn)(JSContext*, HandleString, HandleString);
static const VMFunction ConcatStringsInfo =
FunctionInfo<ConcatStringsFn>(ConcatStrings<CanGC>, "ConcatStrings", NonTailCall);
bool
BaselineCacheIRCompiler::emitCallStringConcatResult()
{

View File

@ -8372,10 +8372,6 @@ CodeGenerator::visitSameValueVM(LSameValueVM* lir)
callVM(SameValueInfo, lir);
}
typedef JSString* (*ConcatStringsFn)(JSContext*, HandleString, HandleString);
static const VMFunction ConcatStringsInfo =
FunctionInfo<ConcatStringsFn>(ConcatStrings<CanGC>, "ConcatStrings");
void
CodeGenerator::emitConcat(LInstruction* lir, Register lhs, Register rhs, Register output)
{

View File

@ -1155,10 +1155,6 @@ IonCacheIRCompiler::emitCallProxyGetResult()
return true;
}
typedef bool (*ProxyGetPropertyByValueFn)(JSContext*, HandleObject, HandleValue, MutableHandleValue);
static const VMFunction ProxyGetPropertyByValueInfo =
FunctionInfo<ProxyGetPropertyByValueFn>(ProxyGetPropertyByValue, "ProxyGetPropertyByValue");
bool
IonCacheIRCompiler::emitCallProxyGetByValueResult()
{
@ -1182,12 +1178,6 @@ IonCacheIRCompiler::emitCallProxyGetByValueResult()
return true;
}
typedef bool (*ProxyHasFn)(JSContext*, HandleObject, HandleValue, MutableHandleValue);
static const VMFunction ProxyHasInfo = FunctionInfo<ProxyHasFn>(ProxyHas, "ProxyHas");
typedef bool (*ProxyHasOwnFn)(JSContext*, HandleObject, HandleValue, MutableHandleValue);
static const VMFunction ProxyHasOwnInfo = FunctionInfo<ProxyHasOwnFn>(ProxyHasOwn, "ProxyHasOwn");
bool
IonCacheIRCompiler::emitCallProxyHasPropResult()
{
@ -1303,11 +1293,6 @@ IonCacheIRCompiler::emitLoadStringResult()
MOZ_CRASH("not used in ion");
}
typedef bool (*StringSplitHelperFn)(JSContext*, HandleString, HandleString, HandleObjectGroup,
uint32_t limit, MutableHandleValue);
static const VMFunction StringSplitHelperInfo =
FunctionInfo<StringSplitHelperFn>(StringSplitHelper, "StringSplitHelper");
bool
IonCacheIRCompiler::emitCallStringSplitResult()
{
@ -2170,10 +2155,6 @@ IonCacheIRCompiler::emitCallScriptedSetter()
return true;
}
typedef bool (*SetArrayLengthFn)(JSContext*, HandleObject, HandleValue, bool);
static const VMFunction SetArrayLengthInfo =
FunctionInfo<SetArrayLengthFn>(SetArrayLength, "SetArrayLength");
bool
IonCacheIRCompiler::emitCallSetArrayLength()
{
@ -2193,10 +2174,6 @@ IonCacheIRCompiler::emitCallSetArrayLength()
return callVM(masm, SetArrayLengthInfo);
}
typedef bool (*ProxySetPropertyFn)(JSContext*, HandleObject, HandleId, HandleValue, bool);
static const VMFunction ProxySetPropertyInfo =
FunctionInfo<ProxySetPropertyFn>(ProxySetProperty, "ProxySetProperty");
bool
IonCacheIRCompiler::emitCallProxySet()
{
@ -2220,10 +2197,6 @@ IonCacheIRCompiler::emitCallProxySet()
return callVM(masm, ProxySetPropertyInfo);
}
typedef bool (*ProxySetPropertyByValueFn)(JSContext*, HandleObject, HandleValue, HandleValue, bool);
static const VMFunction ProxySetPropertyByValueInfo =
FunctionInfo<ProxySetPropertyByValueFn>(ProxySetPropertyByValue, "ProxySetPropertyByValue");
bool
IonCacheIRCompiler::emitCallProxySetByValue()
{
@ -2513,10 +2486,6 @@ IonIC::attachCacheIRStub(JSContext* cx, const CacheIRWriter& writer, CacheKind k
*attached = true;
}
typedef JSString* (*ConcatStringsFn)(JSContext*, HandleString, HandleString);
static const VMFunction ConcatStringsInfo =
FunctionInfo<ConcatStringsFn>(ConcatStrings<CanGC>, "ConcatStrings", NonTailCall);
bool
IonCacheIRCompiler::emitCallStringConcatResult()
{

View File

@ -355,6 +355,10 @@ bool StringSplitHelper(JSContext* cx, HandleString str, HandleString sep,
return true;
}
typedef bool (*StringSplitHelperFn)(JSContext*, HandleString, HandleString, HandleObjectGroup,
uint32_t limit, MutableHandleValue);
const VMFunction StringSplitHelperInfo =
FunctionInfo<StringSplitHelperFn>(StringSplitHelper, "StringSplitHelper");
bool
ArrayPopDense(JSContext* cx, HandleObject obj, MutableHandleValue rval)
@ -481,6 +485,10 @@ SetArrayLength(JSContext* cx, HandleObject obj, HandleValue value, bool strict)
return result.checkStrictErrorOrWarning(cx, obj, id, strict);
}
typedef bool (*SetArrayLengthFn)(JSContext*, HandleObject, HandleValue, bool);
const VMFunction SetArrayLengthInfo =
FunctionInfo<SetArrayLengthFn>(SetArrayLength, "SetArrayLength");
bool
CharCodeAt(JSContext* cx, HandleString str, int32_t index, uint32_t* code)
{
@ -1895,6 +1903,10 @@ const VMFunction SetObjectElementInfo =
FunctionInfo<SetObjectElementFn>(js::SetObjectElement, "SetObjectElement");
typedef JSString* (*ConcatStringsFn)(JSContext*, HandleString, HandleString);
const VMFunction ConcatStringsInfo =
FunctionInfo<ConcatStringsFn>(ConcatStrings<CanGC>, "ConcatStrings");
static JSString*
ConvertObjectToStringForConcat(JSContext* cx, HandleValue obj)
{
@ -1965,5 +1977,27 @@ TrySkipAwait(JSContext* cx, HandleValue val, MutableHandleValue resolved)
return true;
}
typedef bool (*ProxyGetPropertyFn)(JSContext*, HandleObject, HandleId, MutableHandleValue);
const VMFunction ProxyGetPropertyInfo =
FunctionInfo<ProxyGetPropertyFn>(ProxyGetProperty, "ProxyGetProperty");
typedef bool (*ProxyGetPropertyByValueFn)(JSContext*, HandleObject, HandleValue, MutableHandleValue);
const VMFunction ProxyGetPropertyByValueInfo =
FunctionInfo<ProxyGetPropertyByValueFn>(ProxyGetPropertyByValue, "ProxyGetPropertyByValue");
typedef bool (*ProxySetPropertyFn)(JSContext*, HandleObject, HandleId, HandleValue, bool);
const VMFunction ProxySetPropertyInfo =
FunctionInfo<ProxySetPropertyFn>(ProxySetProperty, "ProxySetProperty");
typedef bool (*ProxySetPropertyByValueFn)(JSContext*, HandleObject, HandleValue, HandleValue, bool);
const VMFunction ProxySetPropertyByValueInfo =
FunctionInfo<ProxySetPropertyByValueFn>(ProxySetPropertyByValue, "ProxySetPropertyByValue");
typedef bool (*ProxyHasFn)(JSContext*, HandleObject, HandleValue, MutableHandleValue);
const VMFunction ProxyHasInfo = FunctionInfo<ProxyHasFn>(ProxyHas, "ProxyHas");
typedef bool (*ProxyHasOwnFn)(JSContext*, HandleObject, HandleValue, MutableHandleValue);
const VMFunction ProxyHasOwnInfo = FunctionInfo<ProxyHasOwnFn>(ProxyHasOwn, "ProxyHasOwn");
} // namespace jit
} // namespace js

View File

@ -953,8 +953,6 @@ GetPrototypeOf(JSContext* cx, HandleObject target, MutableHandleValue rval);
void
CloseIteratorFromIon(JSContext* cx, JSObject* obj);
extern const VMFunction SetObjectElementInfo;
bool
DoConcatStringObject(JSContext* cx, HandleValue lhs, HandleValue rhs,
MutableHandleValue res);
@ -966,11 +964,24 @@ DoConcatStringObject(JSContext* cx, HandleValue lhs, HandleValue rhs,
MOZ_MUST_USE bool
TrySkipAwait(JSContext* cx, HandleValue val, MutableHandleValue resolved);
// This is the tailcall version of DoConcatStringObject
extern const VMFunction DoConcatStringObjectInfo;
// VMFunctions shared by JITs
extern const VMFunction SetArrayLengthInfo;
extern const VMFunction SetObjectElementInfo;
extern const VMFunction StringsEqualInfo;
extern const VMFunction StringsNotEqualInfo;
extern const VMFunction ConcatStringsInfo;
extern const VMFunction StringSplitHelperInfo;
extern const VMFunction ProxyGetPropertyInfo;
extern const VMFunction ProxyGetPropertyByValueInfo;
extern const VMFunction ProxySetPropertyInfo;
extern const VMFunction ProxySetPropertyByValueInfo;
extern const VMFunction ProxyHasInfo;
extern const VMFunction ProxyHasOwnInfo;
// TailCall VMFunctions
extern const VMFunction DoConcatStringObjectInfo;
} // namespace jit
} // namespace js