summaryrefslogtreecommitdiffstats
path: root/vm/analysis/CodeVerify.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'vm/analysis/CodeVerify.cpp')
-rw-r--r--vm/analysis/CodeVerify.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/vm/analysis/CodeVerify.cpp b/vm/analysis/CodeVerify.cpp
index 4a0d3d71d..a230590db 100644
--- a/vm/analysis/CodeVerify.cpp
+++ b/vm/analysis/CodeVerify.cpp
@@ -3737,7 +3737,7 @@ static bool doCodeVerification(VerifierData* vdata, RegisterTable* regTable)
if (instr == kPackedSwitchSignature ||
instr == kSparseSwitchSignature ||
instr == kArrayDataSignature ||
- (instr == OP_NOP &&
+ (instr == OP_NOP && (insnIdx + 1 < insnsSize) &&
(meth->insns[insnIdx+1] == kPackedSwitchSignature ||
meth->insns[insnIdx+1] == kSparseSwitchSignature ||
meth->insns[insnIdx+1] == kArrayDataSignature)))
@@ -4318,6 +4318,11 @@ static bool verifyInstruction(const Method* meth, InsnFlags* insnFlags,
valueType = primitiveTypeToRegType(
resClass->elementClass->primitiveType);
assert(valueType != kRegTypeUnknown);
+#ifdef NDEBUG
+ // assert is optimized out, leaving valueType defined but
+ // not used, causing a compiler warning -> error on -Werror
+ (void)valueType;
+#endif
/*
* Now verify if the element width in the table matches the element