< prev index next > test/hotspot/gtest/oops/test_compressedKlass.cpp
Print this page
/*
- * Copyright (c) 2024, Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2024, 2025, Red Hat, Inc. All rights reserved.
* Copyright (c) 2024, 2025, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+ #include "classfile/vmClasses.hpp"
#include "oops/compressedKlass.inline.hpp"
#include "utilities/globalDefinitions.hpp"
#include "unittest.hpp"
address addr = CompressedKlassPointers::klass_range_start();
ASSERT_TRUE(CompressedKlassPointers::is_encodable(addr));
addr = CompressedKlassPointers::klass_range_end() - alignment;
ASSERT_TRUE(CompressedKlassPointers::is_encodable(addr));
}
+
+ TEST_VM(CompressedKlass, test_is_valid_narrow_klass) {
+ if (!UseCompressedClassPointers) {
+ return;
+ }
+ ASSERT_FALSE(CompressedKlassPointers::is_valid_narrow_klass_id(0));
+ narrowKlass nk_jlC = CompressedKlassPointers::encode((Klass*)vmClasses::Class_klass());
+ ASSERT_TRUE(CompressedKlassPointers::is_valid_narrow_klass_id(nk_jlC));
+ if (CompressedClassSpaceSize < 4 * G && CompressedKlassPointers::base() != nullptr) {
+ ASSERT_FALSE(CompressedKlassPointers::is_valid_narrow_klass_id(0xFFFFFFFF));
+ }
+ }
< prev index next >