mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 04:15:43 +00:00
Bug 1248503 - Improve log output for MSimdBox and MSimdUnbox. r=nbp
Add a function SimdTypeToString used for logging purposes only. Include the exact SimdType and initial heap when logging MSimdBox and MSimdUnbox instructions. MozReview-Commit-ID: 1WbwaQgMLqm --HG-- extra : rebase_source : b72d256b0623c662db460481ecea8786f818aed4
This commit is contained in:
parent
674904d269
commit
354968df44
@ -95,6 +95,18 @@ js::IsVectorObject(HandleValue v)
|
||||
FOR_EACH_SIMD(InstantiateIsVectorObject_)
|
||||
#undef InstantiateIsVectorObject_
|
||||
|
||||
const char*
|
||||
js::SimdTypeToString(SimdType type)
|
||||
{
|
||||
switch (type) {
|
||||
#define RETSTR_(TYPE) case SimdType::TYPE: return #TYPE;
|
||||
FOR_EACH_SIMD(RETSTR_)
|
||||
#undef RETSTR_
|
||||
case SimdType::Count: break;
|
||||
}
|
||||
return "<bad SimdType>";
|
||||
}
|
||||
|
||||
static inline bool
|
||||
ErrorBadArgs(JSContext* cx)
|
||||
{
|
||||
|
@ -1119,6 +1119,8 @@ struct Bool64x2 {
|
||||
|
||||
PropertyName* SimdTypeToName(JSContext* cx, SimdType type);
|
||||
|
||||
const char* SimdTypeToString(SimdType type);
|
||||
|
||||
template<typename V>
|
||||
JSObject* CreateSimd(JSContext* cx, const typename V::Elem* data);
|
||||
|
||||
|
@ -1344,6 +1344,21 @@ MSimdInsertElement::printOpcode(GenericPrinter& out) const
|
||||
out.printf(" (%s)", MSimdInsertElement::LaneName(lane()));
|
||||
}
|
||||
|
||||
void
|
||||
MSimdBox::printOpcode(GenericPrinter& out) const
|
||||
{
|
||||
MDefinition::printOpcode(out);
|
||||
out.printf(" (%s%s)", SimdTypeToString(simdType()),
|
||||
initialHeap() == gc::TenuredHeap ? ", tenured" : "");
|
||||
}
|
||||
|
||||
void
|
||||
MSimdUnbox::printOpcode(GenericPrinter& out) const
|
||||
{
|
||||
MDefinition::printOpcode(out);
|
||||
out.printf(" (%s)", SimdTypeToString(simdType()));
|
||||
}
|
||||
|
||||
MCloneLiteral*
|
||||
MCloneLiteral::New(TempAllocator& alloc, MDefinition* obj)
|
||||
{
|
||||
|
@ -3489,6 +3489,7 @@ class MSimdBox
|
||||
return AliasSet::None();
|
||||
}
|
||||
|
||||
void printOpcode(GenericPrinter& out) const override;
|
||||
bool writeRecoverData(CompactBufferWriter& writer) const override;
|
||||
bool canRecoverOnBailout() const override {
|
||||
return true;
|
||||
@ -3534,6 +3535,8 @@ class MSimdUnbox
|
||||
AliasSet getAliasSet() const override {
|
||||
return AliasSet::None();
|
||||
}
|
||||
|
||||
void printOpcode(GenericPrinter& out) const override;
|
||||
};
|
||||
|
||||
// Creates a new derived type object. At runtime, this is just a call
|
||||
|
Loading…
Reference in New Issue
Block a user