Enhance CHECK_EQ and friends to allow extra detail to be appended (like CHECK).
Change-Id: Iaa980892ab31621c8bcca9ea7c6c4ee743333f45
diff --git a/src/class_linker.cc b/src/class_linker.cc
index 2cbac12..b480d87 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1911,7 +1911,7 @@
}
if (ifcount == 0) {
// TODO: enable these asserts with klass status validation
- // DCHECK(klass->GetIfTableCount() == 0);
+ // DCHECK_EQ(klass->GetIfTableCount(), 0);
// DCHECK(klass->GetIfTable() == NULL);
return true;
}
diff --git a/src/compiler/Utility.cc b/src/compiler/Utility.cc
index b9fe050..0fc8a80 100644
--- a/src/compiler/Utility.cc
+++ b/src/compiler/Utility.cc
@@ -124,7 +124,7 @@
/* Insert a new element into the growable list */
void oatInsertGrowableList(GrowableList* gList, intptr_t elem)
{
- DCHECK(gList->numAllocated != 0);
+ DCHECK_NE(gList->numAllocated, 0U);
if (gList->numUsed == gList->numAllocated) {
expandGrowableList(gList);
}
@@ -212,7 +212,7 @@
ArenaBitVector* bv;
unsigned int count;
- DCHECK(sizeof(bv->storage[0]) == 4); /* assuming 32-bit units */
+ DCHECK_EQ(sizeof(bv->storage[0]), 4U); /* assuming 32-bit units */
bv = (ArenaBitVector*) oatNew(sizeof(ArenaBitVector), false);
diff --git a/src/compiler/codegen/arm/ArchUtility.cc b/src/compiler/codegen/arm/ArchUtility.cc
index edce114..aef98fa 100644
--- a/src/compiler/codegen/arm/ArchUtility.cc
+++ b/src/compiler/codegen/arm/ArchUtility.cc
@@ -122,7 +122,7 @@
strcpy(tbuf, "!");
} else {
DCHECK_LT(fmt, fmtEnd);
- DCHECK((unsigned)(nc-'0') < 4);
+ DCHECK_LT((unsigned)(nc-'0'), 4U);
operand = lir->operands[nc-'0'];
switch(*fmt++) {
case 'H':
diff --git a/src/compiler/codegen/arm/Thumb2/Factory.cc b/src/compiler/codegen/arm/Thumb2/Factory.cc
index 318be5a..1ea565a 100644
--- a/src/compiler/codegen/arm/Thumb2/Factory.cc
+++ b/src/compiler/codegen/arm/Thumb2/Factory.cc
@@ -341,7 +341,7 @@
LOG(FATAL) << "Bad opcode: " << (int)op;
break;
}
- DCHECK(opcode >= 0);
+ DCHECK_GE(static_cast<int>(opcode), 0);
if (EncodingMap[opcode].flags & IS_BINARY_OP)
return newLIR2(cUnit, opcode, rDestSrc1, rSrc2);
else if (EncodingMap[opcode].flags & IS_TERTIARY_OP) {
@@ -418,7 +418,7 @@
LOG(FATAL) << "Bad opcode: " << (int)op;
break;
}
- DCHECK(opcode >= 0);
+ DCHECK_GE(static_cast<int>(opcode), 0);
if (EncodingMap[opcode].flags & IS_QUAD_OP)
return newLIR4(cUnit, opcode, rDest, rSrc1, rSrc2, shift);
else {
diff --git a/src/dex_instruction_visitor.h b/src/dex_instruction_visitor.h
index 6a6bc3e..7b7704b 100644
--- a/src/dex_instruction_visitor.h
+++ b/src/dex_instruction_visitor.h
@@ -28,7 +28,7 @@
#undef DEX_INSTRUCTION_LIST
#undef INSTRUCTION_CASE
default:
- CHECK(true);
+ CHECK(false);
}
ptr += inst->Size() * sizeof(uint16_t);
CHECK_LE(ptr, end);
diff --git a/src/logging.cc b/src/logging.cc
index 5e9ae3a..35a84ed 100644
--- a/src/logging.cc
+++ b/src/logging.cc
@@ -20,15 +20,13 @@
#include "thread.h"
#include "utils.h"
-namespace {
+namespace art {
art::Mutex& GetLoggingLock() {
static art::Mutex lock("LogMessage lock");
return lock;
}
-}
-
LogMessage::~LogMessage() {
// Finish constructing the message.
if (errno_ != -1) {
@@ -62,3 +60,5 @@
std::ostream& LogMessage::stream() {
return buffer_;
}
+
+} // namespace art
diff --git a/src/logging.h b/src/logging.h
index 4abafdd..e358db6 100644
--- a/src/logging.h
+++ b/src/logging.h
@@ -26,19 +26,44 @@
#define CHECK(x) \
if (!(x)) \
- LogMessage(__FILE__, __LINE__, FATAL, -1).stream() \
+ ::art::LogMessage(__FILE__, __LINE__, FATAL, -1).stream() \
<< "Check failed: " #x << " "
+namespace art {
+
+template <typename LHS, typename RHS>
+struct EagerEvaluator {
+ EagerEvaluator(LHS lhs, RHS rhs) : lhs(lhs), rhs(rhs) { }
+ LHS lhs;
+ RHS rhs;
+};
+
+
+class LogMessage {
+ public:
+ LogMessage(const char* file, int line, LogSeverity severity, int error);
+ ~LogMessage();
+ std::ostream& stream();
+
+ private:
+ void LogLine(const char*);
+
+ std::stringstream buffer_;
+ const char* file_;
+ int line_number_;
+ LogSeverity severity_;
+ int errno_;
+
+ DISALLOW_COPY_AND_ASSIGN(LogMessage);
+};
+
+} // namespace art
+
#define CHECK_OP(LHS, RHS, OP) \
- do { \
- typeof (LHS) _lhs = (LHS); \
- typeof (RHS) _rhs = (RHS); \
- if (!(_lhs OP _rhs)) { \
- LogMessage(__FILE__, __LINE__, FATAL, -1).stream() \
- << "Check failed: " << #LHS << " " << #OP << " " << #RHS \
- << " (" #LHS "=" << _lhs << ", " #RHS "=" << _rhs << ")"; \
- } \
- } while (false)
+ for (::art::EagerEvaluator<typeof(LHS), typeof(RHS)> _values(LHS, RHS); !(_values.lhs OP _values.rhs); ) \
+ ::art::LogMessage(__FILE__, __LINE__, FATAL, -1).stream() \
+ << "Check failed: " << #LHS << " " << #OP << " " << #RHS \
+ << " (" #LHS "=" << _values.lhs << ", " #RHS "=" << _values.rhs << ") "
#define CHECK_EQ(x, y) CHECK_OP(x, y, ==)
#define CHECK_NE(x, y) CHECK_OP(x, y, !=)
@@ -48,14 +73,11 @@
#define CHECK_GT(x, y) CHECK_OP(x, y, >)
#define CHECK_STROP(s1, s2, sense) \
- do { \
- if ((strcmp(s1, s2) == 0) != sense) { \
- LOG(FATAL) << "Check failed: " \
- << "\"" << s1 << "\"" \
- << (sense ? " == " : " != ") \
- << "\"" << s2 << "\""; \
- } \
- } while (false)
+ if ((strcmp(s1, s2) == 0) != sense) \
+ LOG(FATAL) << "Check failed: " \
+ << "\"" << s1 << "\"" \
+ << (sense ? " == " : " != ") \
+ << "\"" << s2 << "\""
#define CHECK_STREQ(s1, s2) CHECK_STROP(s1, s2, true)
#define CHECK_STRNE(s1, s2) CHECK_STROP(s1, s2, false)
@@ -121,29 +143,11 @@
#endif
-#define LOG(severity) LogMessage(__FILE__, __LINE__, severity, -1).stream()
-#define PLOG(severity) LogMessage(__FILE__, __LINE__, severity, errno).stream()
+#define LOG(severity) ::art::LogMessage(__FILE__, __LINE__, severity, -1).stream()
+#define PLOG(severity) ::art::LogMessage(__FILE__, __LINE__, severity, errno).stream()
#define LG LOG(INFO)
#define UNIMPLEMENTED(level) LOG(level) << __PRETTY_FUNCTION__ << " unimplemented "
-class LogMessage {
- public:
- LogMessage(const char* file, int line, LogSeverity severity, int error);
- ~LogMessage();
- std::ostream& stream();
-
- private:
- void LogLine(const char*);
-
- std::stringstream buffer_;
- const char* file_;
- int line_number_;
- LogSeverity severity_;
- int errno_;
-
- DISALLOW_COPY_AND_ASSIGN(LogMessage);
-};
-
#endif // ART_SRC_LOGGING_H_
diff --git a/src/logging_android.cc b/src/logging_android.cc
index f404349..4e7a5fa 100644
--- a/src/logging_android.cc
+++ b/src/logging_android.cc
@@ -21,6 +21,8 @@
#include "cutils/log.h"
+namespace art {
+
static const int kLogSeverityToAndroidLogPriority[] = {
ANDROID_LOG_INFO, ANDROID_LOG_WARN, ANDROID_LOG_ERROR, ANDROID_LOG_FATAL
};
@@ -36,3 +38,5 @@
int priority = kLogSeverityToAndroidLogPriority[severity_];
LOG_PRI(priority, LOG_TAG, "%s:%d] %s", file_, line_number_, line);
}
+
+} // namespace art
diff --git a/src/logging_linux.cc b/src/logging_linux.cc
index fd12b98..d62649b 100644
--- a/src/logging_linux.cc
+++ b/src/logging_linux.cc
@@ -25,6 +25,8 @@
#include "stringprintf.h"
#include "utils.h"
+namespace art {
+
LogMessage::LogMessage(const char* file, int line, LogSeverity severity, int error)
: line_number_(line), severity_(severity), errno_(error)
{
@@ -36,3 +38,5 @@
std::cerr << "IWEF"[severity_] << ' ' << StringPrintf("%5d %5d", getpid(), ::art::GetTid()) << ' '
<< file_ << ':' << line_number_ << "] " << line << std::endl;
}
+
+} // namespace art
diff --git a/src/object.cc b/src/object.cc
index 99cdbc8..9f225d7 100644
--- a/src/object.cc
+++ b/src/object.cc
@@ -648,7 +648,7 @@
uintptr_t Method::ToNativePC(const uint32_t dex_pc) const {
const uint32_t* mapping_table = GetMappingTable();
if (mapping_table == NULL) {
- DCHECK(dex_pc == 0);
+ DCHECK_EQ(dex_pc, 0U);
return 0; // Special no mapping/pc == 0 case
}
size_t mapping_table_length = GetMappingTableLength();
diff --git a/src/object.h b/src/object.h
index de3075b..d8eb179 100644
--- a/src/object.h
+++ b/src/object.h
@@ -903,28 +903,26 @@
}
size_t GetFrameSizeInBytes() const {
- DCHECK(sizeof(size_t) == sizeof(uint32_t));
- size_t result = GetField32(
- OFFSET_OF_OBJECT_MEMBER(Method, frame_size_in_bytes_), false);
+ DCHECK_EQ(sizeof(size_t), sizeof(uint32_t));
+ size_t result = GetField32(OFFSET_OF_OBJECT_MEMBER(Method, frame_size_in_bytes_), false);
DCHECK_LE(static_cast<size_t>(kStackAlignment), result);
return result;
}
void SetFrameSizeInBytes(size_t new_frame_size_in_bytes) {
- DCHECK(sizeof(size_t) == sizeof(uint32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(uint32_t));
DCHECK_LE(static_cast<size_t>(kStackAlignment), new_frame_size_in_bytes);
SetField32(OFFSET_OF_OBJECT_MEMBER(Method, frame_size_in_bytes_),
new_frame_size_in_bytes, false);
}
size_t GetReturnPcOffsetInBytes() const {
- DCHECK(sizeof(size_t) == sizeof(uint32_t));
- return GetField32(
- OFFSET_OF_OBJECT_MEMBER(Method, return_pc_offset_in_bytes_), false);
+ DCHECK_EQ(sizeof(size_t), sizeof(uint32_t));
+ return GetField32(OFFSET_OF_OBJECT_MEMBER(Method, return_pc_offset_in_bytes_), false);
}
void SetReturnPcOffsetInBytes(size_t return_pc_offset_in_bytes) {
- DCHECK(sizeof(size_t) == sizeof(uint32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(uint32_t));
DCHECK_LT(return_pc_offset_in_bytes, GetFrameSizeInBytes());
SetField32(OFFSET_OF_OBJECT_MEMBER(Method, return_pc_offset_in_bytes_),
return_pc_offset_in_bytes, false);
@@ -1321,9 +1319,8 @@
};
Status GetStatus() const {
- CHECK(sizeof(Status) == sizeof(uint32_t));
- return static_cast<Status>(
- GetField32(OFFSET_OF_OBJECT_MEMBER(Class, status_), false));
+ DCHECK_EQ(sizeof(Status), sizeof(uint32_t));
+ return static_cast<Status>(GetField32(OFFSET_OF_OBJECT_MEMBER(Class, status_), false));
}
void SetStatus(Status new_status);
@@ -1429,13 +1426,13 @@
}
PrimitiveType GetPrimitiveType() const {
- CHECK(sizeof(PrimitiveType) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(PrimitiveType), sizeof(int32_t));
return static_cast<PrimitiveType>(
GetField32(OFFSET_OF_OBJECT_MEMBER(Class, primitive_type_), false));
}
void SetPrimitiveType(PrimitiveType new_type) {
- CHECK(sizeof(PrimitiveType) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(PrimitiveType), sizeof(int32_t));
SetField32(OFFSET_OF_OBJECT_MEMBER(Class, primitive_type_), new_type, false);
}
@@ -1527,26 +1524,23 @@
}
size_t SizeOf() const {
- CHECK(sizeof(size_t) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(int32_t));
return GetField32(OFFSET_OF_OBJECT_MEMBER(Class, class_size_), false);
}
size_t GetClassSize() const {
- CHECK(sizeof(size_t) == sizeof(uint32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(uint32_t));
return GetField32(OFFSET_OF_OBJECT_MEMBER(Class, class_size_), false);
}
void SetClassSize(size_t new_class_size) {
- DCHECK(new_class_size >= GetClassSize())
- << " class=" << PrettyTypeOf(this)
- << " new_class_size=" << new_class_size
- << " GetClassSize=" << GetClassSize();
+ DCHECK_GE(new_class_size, GetClassSize()) << " class=" << PrettyTypeOf(this);
SetField32(OFFSET_OF_OBJECT_MEMBER(Class, class_size_), new_class_size, false);
}
size_t GetObjectSize() const {
CHECK(!IsVariableSize());
- CHECK(sizeof(size_t) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(int32_t));
size_t result = GetField32(OFFSET_OF_OBJECT_MEMBER(Class, object_size_), false);
CHECK_GE(result, sizeof(Object));
return result;
@@ -1554,7 +1548,7 @@
void SetObjectSize(size_t new_object_size) {
DCHECK(!IsVariableSize());
- CHECK(sizeof(size_t) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(int32_t));
return SetField32(OFFSET_OF_OBJECT_MEMBER(Class, object_size_), new_object_size, false);
}
@@ -1628,8 +1622,7 @@
// Can only get super class for loaded classes (hack for when runtime is
// initializing)
DCHECK(IsLoaded() || !Runtime::Current()->IsStarted());
- return GetFieldObject<Class*>(
- OFFSET_OF_OBJECT_MEMBER(Class, super_class_), false);
+ return GetFieldObject<Class*>(OFFSET_OF_OBJECT_MEMBER(Class, super_class_), false);
}
static MemberOffset SuperClassOffset() {
@@ -1747,14 +1740,12 @@
ObjectArray<Method>* GetVTable() const {
DCHECK(IsResolved() || IsErroneous());
- return GetFieldObject<ObjectArray<Method>*>(
- OFFSET_OF_OBJECT_MEMBER(Class, vtable_), false);
+ return GetFieldObject<ObjectArray<Method>*>(OFFSET_OF_OBJECT_MEMBER(Class, vtable_), false);
}
ObjectArray<Method>* GetVTableDuringLinking() const {
DCHECK(IsLoaded() || IsErroneous());
- return GetFieldObject<ObjectArray<Method>*>(
- OFFSET_OF_OBJECT_MEMBER(Class, vtable_), false);
+ return GetFieldObject<ObjectArray<Method>*>(OFFSET_OF_OBJECT_MEMBER(Class, vtable_), false);
}
void SetVTable(ObjectArray<Method>* new_vtable) {
@@ -1814,21 +1805,18 @@
IntArray* GetInterfacesTypeIdx() const {
CHECK(IsIdxLoaded() || IsErroneous());
- return GetFieldObject<IntArray*>(
- OFFSET_OF_OBJECT_MEMBER(Class, interfaces_type_idx_), false);
+ return GetFieldObject<IntArray*>(OFFSET_OF_OBJECT_MEMBER(Class, interfaces_type_idx_), false);
}
void SetInterfacesTypeIdx(IntArray* new_interfaces_idx);
ObjectArray<Class>* GetInterfaces() const {
CHECK(IsLoaded() || IsErroneous());
- return GetFieldObject<ObjectArray<Class>*>(
- OFFSET_OF_OBJECT_MEMBER(Class, interfaces_), false);
+ return GetFieldObject<ObjectArray<Class>*>(OFFSET_OF_OBJECT_MEMBER(Class, interfaces_), false);
}
void SetInterfaces(ObjectArray<Class>* new_interfaces) {
- DCHECK(NULL == GetFieldObject<Object*>(
- OFFSET_OF_OBJECT_MEMBER(Class, interfaces_), false));
+ DCHECK(NULL == GetFieldObject<Object*>(OFFSET_OF_OBJECT_MEMBER(Class, interfaces_), false));
SetFieldObject(OFFSET_OF_OBJECT_MEMBER(Class, interfaces_), new_interfaces, false);
}
@@ -1893,18 +1881,18 @@
// Returns the number of instance fields containing reference types.
size_t NumReferenceInstanceFields() const {
DCHECK(IsResolved() || IsErroneous());
- DCHECK(sizeof(size_t) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(int32_t));
return GetField32(OFFSET_OF_OBJECT_MEMBER(Class, num_reference_instance_fields_), false);
}
size_t NumReferenceInstanceFieldsDuringLinking() const {
DCHECK(IsLoaded() || IsErroneous());
- DCHECK(sizeof(size_t) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(int32_t));
return GetField32(OFFSET_OF_OBJECT_MEMBER(Class, num_reference_instance_fields_), false);
}
void SetNumReferenceInstanceFields(size_t new_num) {
- DCHECK(sizeof(size_t) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(int32_t));
SetField32(OFFSET_OF_OBJECT_MEMBER(Class, num_reference_instance_fields_), new_num, false);
}
@@ -1923,18 +1911,18 @@
// Returns the number of static fields containing reference types.
size_t NumReferenceStaticFields() const {
DCHECK(IsResolved() || IsErroneous());
- DCHECK(sizeof(size_t) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(int32_t));
return GetField32(OFFSET_OF_OBJECT_MEMBER(Class, num_reference_static_fields_), false);
}
size_t NumReferenceStaticFieldsDuringLinking() const {
DCHECK(IsLoaded() || IsErroneous());
- DCHECK(sizeof(size_t) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(int32_t));
return GetField32(OFFSET_OF_OBJECT_MEMBER(Class, num_reference_static_fields_), false);
}
void SetNumReferenceStaticFields(size_t new_num) {
- DCHECK(sizeof(size_t) == sizeof(int32_t));
+ DCHECK_EQ(sizeof(size_t), sizeof(int32_t));
SetField32(OFFSET_OF_OBJECT_MEMBER(Class, num_reference_static_fields_), new_num, false);
}
@@ -2641,8 +2629,7 @@
inline const String* Method::GetSignature() const {
DCHECK(GetDeclaringClass()->IsLoaded() || GetDeclaringClass()->IsErroneous());
const String* result =
- GetFieldObject<const String*>(
- OFFSET_OF_OBJECT_MEMBER(Method, signature_), false);
+ GetFieldObject<const String*>(OFFSET_OF_OBJECT_MEMBER(Method, signature_), false);
DCHECK(result != NULL);
return result;
}
diff --git a/src/object_bitmap.cc b/src/object_bitmap.cc
index 06d86d6..483feac 100644
--- a/src/object_bitmap.cc
+++ b/src/object_bitmap.cc
@@ -111,7 +111,7 @@
void HeapBitmap::ScanWalk(uintptr_t base, ScanCallback* callback, void* arg) {
CHECK(words_ != NULL);
CHECK(callback != NULL);
- CHECK(base >= base_);
+ CHECK_GE(base, base_);
uintptr_t end = HB_OFFSET_TO_INDEX(max_ - base);
for (uintptr_t i = 0; i <= end; ++i) {
unsigned long word = words_[i];
@@ -141,11 +141,11 @@
HeapBitmap::SweepCallback* callback, void* arg) {
CHECK(live_bitmap.words_ != NULL);
CHECK(mark_bitmap.words_ != NULL);
- CHECK(live_bitmap.base_ == mark_bitmap.base_);
- CHECK(live_bitmap.num_bytes_ == mark_bitmap.num_bytes_);
+ CHECK_EQ(live_bitmap.base_, mark_bitmap.base_);
+ CHECK_EQ(live_bitmap.num_bytes_, mark_bitmap.num_bytes_);
CHECK(callback != NULL);
- CHECK(base <= max);
- CHECK(base >= live_bitmap.base_);
+ CHECK_LE(base, max);
+ CHECK_GE(base, live_bitmap.base_);
max = std::min(max-1, live_bitmap.max_);
if (live_bitmap.max_ < live_bitmap.base_) {
// Easy case; both are obviously empty.
diff --git a/src/stack_walk.cc b/src/stack_walk.cc
index a1f6e0f..b2feee3 100644
--- a/src/stack_walk.cc
+++ b/src/stack_walk.cc
@@ -59,7 +59,7 @@
EXPECT_EQ(0U, m->ToDexPC(pc));
EXPECT_REGS(1);
} else {
- CHECK(gJava_StackWalk_refmap_calls == 2);
+ CHECK_EQ(gJava_StackWalk_refmap_calls, 2);
EXPECT_EQ(4U, m->ToDexPC(pc));
EXPECT_REGS(1); // Note that v1 is not in the minimal root set
}
@@ -68,7 +68,7 @@
EXPECT_EQ(0xaU, m->ToDexPC(pc));
EXPECT_REGS(1, 2, 3);
} else {
- CHECK(gJava_StackWalk_refmap_calls == 2);
+ CHECK_EQ(gJava_StackWalk_refmap_calls, 2);
EXPECT_EQ(0xaU, m->ToDexPC(pc));
EXPECT_REGS(1, 2, 3);
}
@@ -77,7 +77,7 @@
EXPECT_EQ(0x2d5U, m->ToDexPC(pc));
EXPECT_REGS(2, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 25);
} else {
- CHECK(gJava_StackWalk_refmap_calls == 2);
+ CHECK_EQ(gJava_StackWalk_refmap_calls, 2);
EXPECT_EQ(0x2d5U, m->ToDexPC(pc));
EXPECT_REGS(2, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 25);
}
diff --git a/src/thread.cc b/src/thread.cc
index 5ffd451..b3dbcb6 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -698,7 +698,7 @@
class_loader_override_(NULL),
long_jump_context_(NULL),
throwing_OOME_(false) {
- CHECK((sizeof(Thread) % 4) == 0) << sizeof(Thread);
+ CHECK_EQ((sizeof(Thread) % 4), 0U) << sizeof(Thread);
}
void MonitorExitVisitor(const Object* object, void*) {
diff --git a/src/utils.cc b/src/utils.cc
index 03a4811..48ae2ae 100644
--- a/src/utils.cc
+++ b/src/utils.cc
@@ -203,8 +203,8 @@
std::string class_name(declaring_class->GetDescriptor()->ToModifiedUtf8());
// Remove the leading 'L' and trailing ';'...
- CHECK(class_name[0] == 'L') << class_name;
- CHECK(class_name[class_name.size() - 1] == ';') << class_name;
+ CHECK_EQ(class_name[0], 'L') << class_name;
+ CHECK_EQ(class_name[class_name.size() - 1], ';') << class_name;
class_name.erase(0, 1);
class_name.erase(class_name.size() - 1, 1);
diff --git a/src/zip_archive.cc b/src/zip_archive.cc
index 8c77391..82d97ec 100644
--- a/src/zip_archive.cc
+++ b/src/zip_archive.cc
@@ -222,7 +222,7 @@
}
} while (zerr == Z_OK);
- DCHECK(zerr == Z_STREAM_END); // other errors should've been caught
+ DCHECK_EQ(zerr, Z_STREAM_END); // other errors should've been caught
// paranoia
if (zstream->Get().total_out != uncompressed_length) {