提交 4f334fba 编写于 作者: M mikael

8005592: ClassLoaderDataGraph::_unloading incorrectly defined as nonstatic in vmStructs

Summary: Added assertion to catch problem earlier and removed the unused field
Reviewed-by: dholmes, acorn
上级 0d98f67b
...@@ -717,7 +717,6 @@ typedef BinaryTreeDictionary<Metablock, FreeList> MetablockTreeDictionary; ...@@ -717,7 +717,6 @@ typedef BinaryTreeDictionary<Metablock, FreeList> MetablockTreeDictionary;
nonstatic_field(ClassLoaderData, _next, ClassLoaderData*) \ nonstatic_field(ClassLoaderData, _next, ClassLoaderData*) \
\ \
static_field(ClassLoaderDataGraph, _head, ClassLoaderData*) \ static_field(ClassLoaderDataGraph, _head, ClassLoaderData*) \
nonstatic_field(ClassLoaderDataGraph, _unloading, ClassLoaderData*) \
\ \
/*******************/ \ /*******************/ \
/* GrowableArrays */ \ /* GrowableArrays */ \
...@@ -2575,7 +2574,8 @@ typedef BinaryTreeDictionary<Metablock, FreeList> MetablockTreeDictionary; ...@@ -2575,7 +2574,8 @@ typedef BinaryTreeDictionary<Metablock, FreeList> MetablockTreeDictionary;
// This macro checks the type of a VMStructEntry by comparing pointer types // This macro checks the type of a VMStructEntry by comparing pointer types
#define CHECK_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, type) \ #define CHECK_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, type) \
{typeName *dummyObj = NULL; type* dummy = &dummyObj->fieldName; } {typeName *dummyObj = NULL; type* dummy = &dummyObj->fieldName; \
assert(offset_of(typeName, fieldName) < sizeof(typeName), "Illegal nonstatic struct entry, field offset too large"); }
// This macro checks the type of a volatile VMStructEntry by comparing pointer types // This macro checks the type of a volatile VMStructEntry by comparing pointer types
#define CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, type) \ #define CHECK_VOLATILE_NONSTATIC_VM_STRUCT_ENTRY(typeName, fieldName, type) \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册