Index: runtime/vm/flow_graph_compiler_ia32.cc |
diff --git a/runtime/vm/flow_graph_compiler_ia32.cc b/runtime/vm/flow_graph_compiler_ia32.cc |
index 1538e0f7680ba2346a2d328b9b547f4ec21e5a17..9d8eda43599cdf6fa1db9bdaca85cc74feaef7cd 100644 |
--- a/runtime/vm/flow_graph_compiler_ia32.cc |
+++ b/runtime/vm/flow_graph_compiler_ia32.cc |
@@ -1457,13 +1457,13 @@ int FlowGraphCompiler::EmitTestAndCallCheckCid(Label* next_label, |
int bias) { |
intptr_t cid_start = range.cid_start; |
intptr_t cid_end = range.cid_end; |
- if (cid_start == cid_end) { |
+ if (range.IsSingleCid()) { |
__ cmpl(EDI, Immediate(cid_start - bias)); |
__ j(NOT_EQUAL, next_label); |
} else { |
__ addl(EDI, Immediate(bias - cid_start)); |
bias = cid_start; |
- __ cmpl(EDI, Immediate(cid_end - cid_start)); |
+ __ cmpl(EDI, Immediate(range.Extent())); |
__ j(ABOVE, next_label); // Unsigned higher. |
} |
return bias; |