diff --git a/js/src/jit/IonCaches.h b/js/src/jit/IonCaches.h index 5110d307461b..bbd79d36ff53 100644 --- a/js/src/jit/IonCaches.h +++ b/js/src/jit/IonCaches.h @@ -143,8 +143,8 @@ class IonCache bool is##ickind() const { \ return kind() == Cache_##ickind; \ } \ - inline ickind##IC &to##ickind(); - + inline ickind##IC &to##ickind(); \ + inline const ickind##IC &to##ickind() const; IONCACHE_KIND_LIST(CACHEKIND_CASTS) # undef CACHEKIND_CASTS @@ -248,7 +248,7 @@ class IonCache } #endif - bool pure() { + bool pure() const { return pure_; } bool idempotent() const { @@ -1049,6 +1049,11 @@ class GetElementParIC : public ParallelIonCache { \ JS_ASSERT(is##ickind()); \ return *static_cast(this); \ + } \ + const ickind##IC &IonCache::to##ickind() const \ + { \ + JS_ASSERT(is##ickind()); \ + return *static_cast(this); \ } IONCACHE_KIND_LIST(CACHE_CASTS) #undef OPCODE_CASTS