comparison src/share/vm/graal/graalVmIds.hpp @ 3011:f00918f35c7f

inlining and runtime interface related changes: added codeSize() and compilerStorage() to RiMethod HotSpotMethodResolved uses reflective methods instead of vmIds and survives compilations HotSpotResolvedType.isInitialized not represented as field (can change) inlining stores graphs into method objects and reuses them
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 16 Jun 2011 20:36:17 +0200
parents c23d45daff9b
children 136ea96eb7f8
comparison
equal deleted inserted replaced
2993:3671e31615c9 3011:f00918f35c7f
80 // Helper function to get the contents of a java.lang.Long 80 // Helper function to get the contents of a java.lang.Long
81 static jlong getBoxedLong(oop obj); 81 static jlong getBoxedLong(oop obj);
82 }; 82 };
83 83
84 84
85 template <> inline jlong VmIds::add<methodOop>(methodOop obj){
86 assert(obj != NULL, "trying to add NULL<methodOop>");
87 assert(obj->is_method(), "trying to add mistyped object");
88 return add(Handle(obj), METHOD);
89 }
90 template <> inline jlong VmIds::add<klassOop>(klassOop obj) { 85 template <> inline jlong VmIds::add<klassOop>(klassOop obj) {
91 assert(obj != NULL, "trying to add NULL<klassOop>"); 86 assert(obj != NULL, "trying to add NULL<klassOop>");
92 assert(obj->is_klass(), "trying to add mistyped object"); 87 assert(obj->is_klass(), "trying to add mistyped object");
93 return add(Handle(obj), CLASS); 88 return add(Handle(obj), CLASS);
94 } 89 }
102 assert(obj->is_oop(), "trying to add mistyped object"); 97 assert(obj->is_oop(), "trying to add mistyped object");
103 return add(Handle(obj), CONSTANT); 98 return add(Handle(obj), CONSTANT);
104 } 99 }
105 100
106 101
107 template <> inline methodOop VmIds::get<methodOop>(jlong id){
108 assert((id & TYPE_MASK) == METHOD, "METHOD expected");
109 assert(getObject(id)->is_method(), "methodOop expected");
110 return (methodOop)getObject(id);
111 }
112 template <> inline klassOop VmIds::get<klassOop>(jlong id) { 102 template <> inline klassOop VmIds::get<klassOop>(jlong id) {
113 assert((id & TYPE_MASK) == CLASS, "CLASS expected"); 103 assert((id & TYPE_MASK) == CLASS, "CLASS expected");
114 assert(getObject(id)->is_klass(), "klassOop expected"); 104 assert(getObject(id)->is_klass(), "klassOop expected");
115 return (klassOop)getObject(id); 105 return (klassOop)getObject(id);
116 } 106 }