mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 10:04:42 +02:00
6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com> Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com> Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com> Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
This commit is contained in:
parent
36eee7c8c8
commit
5c58d27aac
853 changed files with 26124 additions and 82956 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2012, 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
|
||||
|
@ -27,17 +27,17 @@
|
|||
|
||||
#include "code/debugInfo.hpp"
|
||||
#include "code/pcDesc.hpp"
|
||||
#include "oops/methodOop.hpp"
|
||||
#include "oops/method.hpp"
|
||||
#include "utilities/growableArray.hpp"
|
||||
|
||||
// SimpleScopeDesc is used when all you need to extract from
|
||||
// a given pc,nmethod pair is a methodOop and a bci. This is
|
||||
// a given pc,nmethod pair is a Method* and a bci. This is
|
||||
// quite a bit faster than allocating a full ScopeDesc, but
|
||||
// very limited in abilities.
|
||||
|
||||
class SimpleScopeDesc : public StackObj {
|
||||
private:
|
||||
methodOop _method;
|
||||
Method* _method;
|
||||
int _bci;
|
||||
|
||||
public:
|
||||
|
@ -46,11 +46,11 @@ class SimpleScopeDesc : public StackObj {
|
|||
assert(pc_desc != NULL, "Must be able to find matching PcDesc");
|
||||
DebugInfoReadStream buffer(code, pc_desc->scope_decode_offset());
|
||||
int ignore_sender = buffer.read_int();
|
||||
_method = methodOop(buffer.read_oop());
|
||||
_method = buffer.read_method();
|
||||
_bci = buffer.read_bci();
|
||||
}
|
||||
|
||||
methodOop method() { return _method; }
|
||||
Method* method() { return _method; }
|
||||
int bci() { return _bci; }
|
||||
};
|
||||
|
||||
|
@ -68,7 +68,7 @@ class ScopeDesc : public ResourceObj {
|
|||
ScopeDesc(const nmethod* code, int decode_offset, bool reexecute, bool return_oop);
|
||||
|
||||
// JVM state
|
||||
methodHandle method() const { return _method; }
|
||||
Method* method() const { return _method; }
|
||||
int bci() const { return _bci; }
|
||||
bool should_reexecute() const { return _reexecute; }
|
||||
bool return_oop() const { return _return_oop; }
|
||||
|
@ -94,7 +94,7 @@ class ScopeDesc : public ResourceObj {
|
|||
ScopeDesc(const ScopeDesc* parent);
|
||||
|
||||
// JVM state
|
||||
methodHandle _method;
|
||||
Method* _method;
|
||||
int _bci;
|
||||
bool _reexecute;
|
||||
bool _return_oop;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue