From f1f863695b28f630abb772f50170fefaddc2fb91 Mon Sep 17 00:00:00 2001 From: buzbee Date: Tue, 10 Jul 2012 15:18:31 -0700 Subject: Quick compiler - fix run-test 019 Two problems: 1. Was treating an array object store as a regular array store 2. Codegen bug that (somewhat disturbingly) existed in the non-quick code. I'm a little surprised that it hadn't shown up before now, but it would tend to be masked if the array base register in question was promoted. Change-Id: I62bcb866174538ceedcc1309edcf22261237840a --- src/compiler/codegen/arm/ArchUtility.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/compiler/codegen/arm/ArchUtility.cc') diff --git a/src/compiler/codegen/arm/ArchUtility.cc b/src/compiler/codegen/arm/ArchUtility.cc index 725200a6f6..cdb8486f50 100644 --- a/src/compiler/codegen/arm/ArchUtility.cc +++ b/src/compiler/codegen/arm/ArchUtility.cc @@ -218,6 +218,8 @@ std::string buildInsnString(const char* fmt, LIR* lir, unsigned char* baseAddr) sprintf(tbuf,"%d", operand); break; case 'C': + DCHECK_LT(operand, static_cast( + sizeof(coreRegNames)/sizeof(coreRegNames[0]))); sprintf(tbuf,"%s",coreRegNames[operand]); break; case 'E': -- cgit v1.2.3-59-g8ed1b