< prev index next >
src/cpu/x86/vm/x86_64.ad
Print this page
rev 10974 : 8155729: C2: Skip transformation of LoadConP for heap-based compressed oops
Reviewed-by:
*** 1663,1672 ****
--- 1663,1682 ----
bool Matcher::narrow_klass_use_complex_address() {
assert(UseCompressedClassPointers, "only for compressed klass code");
return (LogKlassAlignmentInBytes <= 3);
}
+ bool Matcher::const_oop_prefer_decode() {
+ // Prefer ConN+DecodeN over ConP.
+ return true;
+ }
+
+ bool Matcher::const_klass_prefer_decode() {
+ // Prefer ConNKlass+DecodeNKlass over ConP in simple compressed klass mode.
+ return Universe::narrow_klass_base() == NULL;
+ }
+
// Is it better to copy float constants, or load them directly from
// memory? Intel can load a float constant from a direct address,
// requiring no extra registers. Most RISCs will have to materialize
// an address into a register first, so they would do better to copy
// the constant from stack.
< prev index next >