Make ShadowFrame fields const when not in portable.

ShadowFrames in quick don't need the HasReferenceArray test as they always have
a reference array. Make the method_ and number_of_vregs_ fields const to aid
G++'s optimization of the interpreter.

Modify the OFFSETOF_MEMBER macro to handle const fields.

Change-Id: I696480789190f7c5190449b9c278d37853903a5e
diff --git a/src/base/macros.h b/src/base/macros.h
index 3a24c08..8579872 100644
--- a/src/base/macros.h
+++ b/src/base/macros.h
@@ -120,7 +120,7 @@
 #define SIZEOF_MEMBER(t, f) sizeof((reinterpret_cast<t*>(4096))->f)
 
 #define OFFSETOF_MEMBER(t, f) \
-  (reinterpret_cast<char*>(&reinterpret_cast<t*>(16)->f) - reinterpret_cast<char*>(16)) // NOLINT
+  (reinterpret_cast<const char*>(&reinterpret_cast<t*>(16)->f) - reinterpret_cast<const char*>(16)) // NOLINT
 
 #define OFFSETOF_VOLATILE_MEMBER(t, f) \
   (reinterpret_cast<volatile char*>(&reinterpret_cast<t*>(16)->f) - reinterpret_cast<volatile char*>(16)) // NOLINT