Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 7f18ae01e23e1e858e74c2108d04ca0563282a51..3f4c74752b6d485c51dd1daf53d4283f17ab95ef 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -10572,7 +10572,10 @@ const char* Code::StubType2String(StubType type) { |
void Code::PrintExtraICState(FILE* out, Kind kind, ExtraICState extra) { |
+ PrintF(out, "extra_ic_state = "); |
const char* name = NULL; |
+ HeapStringAllocator allocator; |
+ StringStream str(&allocator); |
switch (kind) { |
case CALL_IC: |
if (extra == STRING_INDEX_OUT_OF_BOUNDS) { |
@@ -10585,13 +10588,19 @@ void Code::PrintExtraICState(FILE* out, Kind kind, ExtraICState extra) { |
name = "STRICT"; |
} |
break; |
+ case UNARY_OP_IC: |
+ UnaryOpStub(extra).PrintName(&str); |
+ break; |
default: |
break; |
} |
- if (name != NULL) { |
- PrintF(out, "extra_ic_state = %s\n", name); |
+ if (str.length()) { |
+ str.Add("\n"); |
+ str.OutputToFile(out); |
+ } else if (name != NULL) { |
+ PrintF(out, "%s\n", name); |
} else { |
- PrintF(out, "extra_ic_state = %d\n", extra); |
+ PrintF(out, "%d\n", extra); |
} |
} |