Mercurial > hg > truffle
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 |