Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/klassOop.hpp @ 2376:c7f3d0b4570f
7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
author | never |
---|---|
date | Fri, 18 Mar 2011 16:00:34 -0700 |
parents | f95d63e2154a |
children | b0efc7ee3b31 |
comparison
equal
deleted
inserted
replaced
2375:d673ef06fe96 | 2376:c7f3d0b4570f |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
43 | 43 |
44 // support for code generation | 44 // support for code generation |
45 static int klass_part_offset_in_bytes() { return sizeof(klassOopDesc); } | 45 static int klass_part_offset_in_bytes() { return sizeof(klassOopDesc); } |
46 | 46 |
47 // returns the Klass part containing dispatching behavior | 47 // returns the Klass part containing dispatching behavior |
48 Klass* klass_part() { return (Klass*)((address)this + klass_part_offset_in_bytes()); } | 48 Klass* klass_part() const { return (Klass*)((address)this + klass_part_offset_in_bytes()); } |
49 | |
50 // Convenience wrapper | |
51 inline oop java_mirror() const; | |
52 | |
53 private: | |
54 // These have no implementation since klassOop should never be accessed in this fashion | |
55 oop obj_field(int offset) const; | |
56 void obj_field_put(int offset, oop value); | |
57 void obj_field_raw_put(int offset, oop value); | |
58 | |
59 jbyte byte_field(int offset) const; | |
60 void byte_field_put(int offset, jbyte contents); | |
61 | |
62 jchar char_field(int offset) const; | |
63 void char_field_put(int offset, jchar contents); | |
64 | |
65 jboolean bool_field(int offset) const; | |
66 void bool_field_put(int offset, jboolean contents); | |
67 | |
68 jint int_field(int offset) const; | |
69 void int_field_put(int offset, jint contents); | |
70 | |
71 jshort short_field(int offset) const; | |
72 void short_field_put(int offset, jshort contents); | |
73 | |
74 jlong long_field(int offset) const; | |
75 void long_field_put(int offset, jlong contents); | |
76 | |
77 jfloat float_field(int offset) const; | |
78 void float_field_put(int offset, jfloat contents); | |
79 | |
80 jdouble double_field(int offset) const; | |
81 void double_field_put(int offset, jdouble contents); | |
82 | |
83 address address_field(int offset) const; | |
84 void address_field_put(int offset, address contents); | |
85 | |
86 oop obj_field_acquire(int offset) const; | |
87 void release_obj_field_put(int offset, oop value); | |
88 | |
89 jbyte byte_field_acquire(int offset) const; | |
90 void release_byte_field_put(int offset, jbyte contents); | |
91 | |
92 jchar char_field_acquire(int offset) const; | |
93 void release_char_field_put(int offset, jchar contents); | |
94 | |
95 jboolean bool_field_acquire(int offset) const; | |
96 void release_bool_field_put(int offset, jboolean contents); | |
97 | |
98 jint int_field_acquire(int offset) const; | |
99 void release_int_field_put(int offset, jint contents); | |
100 | |
101 jshort short_field_acquire(int offset) const; | |
102 void release_short_field_put(int offset, jshort contents); | |
103 | |
104 jlong long_field_acquire(int offset) const; | |
105 void release_long_field_put(int offset, jlong contents); | |
106 | |
107 jfloat float_field_acquire(int offset) const; | |
108 void release_float_field_put(int offset, jfloat contents); | |
109 | |
110 jdouble double_field_acquire(int offset) const; | |
111 void release_double_field_put(int offset, jdouble contents); | |
112 | |
113 address address_field_acquire(int offset) const; | |
114 void release_address_field_put(int offset, address contents); | |
49 }; | 115 }; |
50 | 116 |
51 #endif // SHARE_VM_OOPS_KLASSOOP_HPP | 117 #endif // SHARE_VM_OOPS_KLASSOOP_HPP |