7133093: Improve system dictionary performance

Implement one dictionary per ClassLoaderData for faster lookup and removal during class unloading

Reviewed-by: iklam, acorn, jiangli
This commit is contained in:
Coleen Phillimore 2017-07-28 10:48:35 -04:00
parent b170f01ddd
commit a1f70549e4
52 changed files with 781 additions and 1466 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2011, 2017, 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
@ -26,10 +26,6 @@
#include "classfile/javaClasses.hpp"
#include "oops/oop.inline.hpp"
unsigned int ClassLoaderData::identity_hash() const {
return _class_loader == NULL ? 0 : _class_loader->identity_hash();
}
inline ClassLoaderData* ClassLoaderData::class_loader_data_or_null(oop loader) {
if (loader == NULL) {
return ClassLoaderData::the_null_class_loader_data();