summaryrefslogtreecommitdiffstats
path: root/js/src/jit/CacheIRSpewer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit/CacheIRSpewer.cpp')
-rw-r--r--js/src/jit/CacheIRSpewer.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/js/src/jit/CacheIRSpewer.cpp b/js/src/jit/CacheIRSpewer.cpp
index 613e0f7d85..fbc8a50b04 100644
--- a/js/src/jit/CacheIRSpewer.cpp
+++ b/js/src/jit/CacheIRSpewer.cpp
@@ -71,6 +71,10 @@ class MOZ_RAII CacheIROpsJitSpewer {
void spewJSOpImm(const char* name, JSOp op) {
out_.printf("%s JSOp::%s", name, CodeName(op));
}
+ void spewTypeofEqOperandImm(const char* name, TypeofEqOperand operand) {
+ out_.printf("%s %s %s", name, JSTypeToString(operand.type()),
+ CodeName(operand.compareOp()));
+ }
void spewStaticStringImm(const char* name, const char* str) {
out_.printf("%s \"%s\"", name, str);
}
@@ -223,6 +227,9 @@ class MOZ_RAII CacheIROpsJSONSpewer {
void spewJSOpImm(const char* name, JSOp op) {
spewArgImpl(name, "JSOp", CodeName(op));
}
+ void spewTypeofEqOperandImm(const char* name, TypeofEqOperand operand) {
+ spewArgImpl(name, "TypeofEqOperand", uint8_t(operand.rawValue()));
+ }
void spewStaticStringImm(const char* name, const char* str) {
spewArgImpl(name, "String", str);
}
@@ -430,6 +437,15 @@ void CacheIRSpewer::opcodeProperty(const char* name, const JSOp op) {
j.endStringProperty();
}
+void CacheIRSpewer::jstypeProperty(const char* name, const JSType type) {
+ MOZ_ASSERT(enabled());
+ JSONPrinter& j = json_.ref();
+
+ j.beginStringProperty(name);
+ output_.put(JSTypeToString(type));
+ j.endStringProperty();
+}
+
void CacheIRSpewer::cacheIRSequence(CacheIRReader& reader) {
MOZ_ASSERT(enabled());
JSONPrinter& j = json_.ref();