comparison src/cpu/zero/vm/entry_zero.hpp @ 6725:da91efe96a93

6964458: Reimplement class meta-data storage to use native memory Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author coleenp
date Sat, 01 Sep 2012 13:25:18 -0400
parents f95d63e2154a
children
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1 /* 1 /*
2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
3 * Copyright 2008, 2009, 2010 Red Hat, Inc. 3 * Copyright 2008, 2009, 2010 Red Hat, Inc.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * 5 *
6 * This code is free software; you can redistribute it and/or modify it 6 * This code is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 only, as 7 * under the terms of the GNU General Public License version 2 only, as
42 void set_entry_point(address entry_point) { 42 void set_entry_point(address entry_point) {
43 _entry_point = entry_point; 43 _entry_point = entry_point;
44 } 44 }
45 45
46 private: 46 private:
47 typedef int (*NormalEntryFunc)(methodOop method, 47 typedef int (*NormalEntryFunc)(Method* method,
48 intptr_t base_pc, 48 intptr_t base_pc,
49 TRAPS); 49 TRAPS);
50 typedef int (*OSREntryFunc)(methodOop method, 50 typedef int (*OSREntryFunc)(Method* method,
51 address osr_buf, 51 address osr_buf,
52 intptr_t base_pc, 52 intptr_t base_pc,
53 TRAPS); 53 TRAPS);
54 54
55 public: 55 public:
56 void invoke(methodOop method, TRAPS) const { 56 void invoke(Method* method, TRAPS) const {
57 maybe_deoptimize( 57 maybe_deoptimize(
58 ((NormalEntryFunc) entry_point())(method, (intptr_t) this, THREAD), 58 ((NormalEntryFunc) entry_point())(method, (intptr_t) this, THREAD),
59 THREAD); 59 THREAD);
60 } 60 }
61 void invoke_osr(methodOop method, address osr_buf, TRAPS) const { 61 void invoke_osr(Method* method, address osr_buf, TRAPS) const {
62 maybe_deoptimize( 62 maybe_deoptimize(
63 ((OSREntryFunc) entry_point())(method, osr_buf, (intptr_t) this, THREAD), 63 ((OSREntryFunc) entry_point())(method, osr_buf, (intptr_t) this, THREAD),
64 THREAD); 64 THREAD);
65 } 65 }
66 66