Index: test/cctest/test-log.cc |
diff --git a/test/cctest/test-log.cc b/test/cctest/test-log.cc |
index 503e0cf7c3ac3d0beef8539dccdd3eb1ebf8a62c..032a1836612eeed41220034a358ca102197e4532 100644 |
--- a/test/cctest/test-log.cc |
+++ b/test/cctest/test-log.cc |
@@ -1074,6 +1074,21 @@ static bool AreFuncNamesEqual(CodeEntityInfo ref_s, CodeEntityInfo new_s) { |
return true; |
} |
} |
+ // Code objects can change their optimizability: code object may start |
+ // as optimizable, but later be discovered to be actually not optimizable. |
+ // Alas, we don't record this info as of now, so we allow cases when |
+ // ref is thought to be optimizable while traverse finds it to be |
+ // not optimizable. |
+ if (ref_s[1] == '~') { // Code object used to be optimizable |
+ if (new_s[1] == ' ') { // ...but later was set unoptimizable. |
+ CHECK_EQ('"', ref_s[0]); |
+ CHECK_EQ('"', new_s[0]); |
+ ref_s += 2; // Cut the leading quote and the marker |
+ ref_len -= 2; |
+ new_s += 1; // Cut the leading quote only. |
+ new_len -= 1; |
+ } |
+ } |
return ref_len == new_len && strncmp(ref_s, new_s, ref_len) == 0; |
} |