0
請參閱以下內容:jdk的UseCompressedOops的功能是什麼?
void link_prev(FreeChunk* ptr) {
LP64_ONLY(if (UseCompressedOops) _prev = ptr; else)
_prev = (FreeChunk*)((intptr_t)ptr | 0x1);
}
如果沒有LP64爲什麼要「_prev = PTR | 0x1'而不是'_prev = ptr'直接?
此代碼是從jdk8/OpenJDK的/熱點/ src目錄/股/ VM/gc_implementation/concurrentMarkSweep/freeChunk.hpp線118