--- a/src/hotspot/share/gc/z/zNMethodTableEntry.hpp Tue Dec 11 11:29:28 2018 +0100
+++ b/src/hotspot/share/gc/z/zNMethodTableEntry.hpp Tue Dec 11 11:08:39 2018 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2018, 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
@@ -43,38 +43,30 @@
// | |
// | 0-0 Registered Flag (1-bits) *
// |
-// * 63-3 NMethod/ZNMethodWithImmediateOops Address (61-bits)
+// * 63-3 NMethod Address (61-bits)
//
class nmethod;
-class ZNMethodWithImmediateOops;
class ZNMethodTableEntry : public CHeapObj<mtGC> {
private:
- typedef ZBitField<uint64_t, bool, 0, 1> field_registered;
- typedef ZBitField<uint64_t, bool, 1, 1> field_unregistered;
- typedef ZBitField<uint64_t, bool, 1, 1> field_immediate_oops;
- typedef ZBitField<uint64_t, bool, 2, 1> field_non_immediate_oops;
- typedef ZBitField<uint64_t, nmethod*, 3, 61, 3> field_method;
- typedef ZBitField<uint64_t, ZNMethodWithImmediateOops*, 3, 61, 3> field_method_with_immediate_oops;
+ typedef ZBitField<uint64_t, bool, 0, 1> field_registered;
+ typedef ZBitField<uint64_t, bool, 1, 1> field_unregistered;
+ typedef ZBitField<uint64_t, bool, 1, 1> field_immediate_oops;
+ typedef ZBitField<uint64_t, bool, 2, 1> field_non_immediate_oops;
+ typedef ZBitField<uint64_t, nmethod*, 3, 61, 3> field_method;
uint64_t _entry;
public:
- ZNMethodTableEntry(bool unregistered = false) :
+ explicit ZNMethodTableEntry(bool unregistered = false) :
_entry(field_unregistered::encode(unregistered) |
field_registered::encode(false)) {}
- ZNMethodTableEntry(nmethod* method, bool non_immediate_oops) :
+ ZNMethodTableEntry(nmethod* method, bool non_immediate_oops, bool immediate_oops) :
_entry(field_method::encode(method) |
field_non_immediate_oops::encode(non_immediate_oops) |
- field_immediate_oops::encode(false) |
- field_registered::encode(true)) {}
-
- ZNMethodTableEntry(ZNMethodWithImmediateOops* method_with_immediate_oops, bool non_immediate_oops) :
- _entry(field_method_with_immediate_oops::encode(method_with_immediate_oops) |
- field_non_immediate_oops::encode(non_immediate_oops) |
- field_immediate_oops::encode(true) |
+ field_immediate_oops::encode(immediate_oops) |
field_registered::encode(true)) {}
bool registered() const {
@@ -96,10 +88,6 @@
nmethod* method() const {
return field_method::decode(_entry);
}
-
- ZNMethodWithImmediateOops* method_with_immediate_oops() const {
- return field_method_with_immediate_oops::decode(_entry);
- }
};
#endif // SHARE_GC_Z_ZNMETHODTABLEENTRY_HPP