Mercurial > hg > truffle
comparison src/share/vm/ci/ciObjectFactory.hpp @ 4137:04b9a2566eec
Merge with hsx23/hotspot.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sat, 17 Dec 2011 21:40:27 +0100 |
parents | 53636e2c9d03 5eb9169b1a14 |
children | e522a00b91aa |
comparison
equal
deleted
inserted
replaced
3737:9dc19b7d89a3 | 4137:04b9a2566eec |
---|---|
34 // This class handles requests for the creation of new instances | 34 // This class handles requests for the creation of new instances |
35 // of ciObject and its subclasses. It contains a caching mechanism | 35 // of ciObject and its subclasses. It contains a caching mechanism |
36 // which ensures that for each oop, at most one ciObject is created. | 36 // which ensures that for each oop, at most one ciObject is created. |
37 // This invariant allows efficient implementation of ciObject. | 37 // This invariant allows efficient implementation of ciObject. |
38 class ciObjectFactory : public ResourceObj { | 38 class ciObjectFactory : public ResourceObj { |
39 friend class VMStructs; | |
40 friend class ciEnv; | |
41 | |
39 private: | 42 private: |
40 static volatile bool _initialized; | 43 static volatile bool _initialized; |
41 static GrowableArray<ciObject*>* _shared_ci_objects; | 44 static GrowableArray<ciObject*>* _shared_ci_objects; |
42 static ciSymbol* _shared_ci_symbols[]; | 45 static ciSymbol* _shared_ci_symbols[]; |
43 static int _shared_ident_limit; | 46 static int _shared_ident_limit; |
103 static ciSymbol* vm_symbol_at(int index); | 106 static ciSymbol* vm_symbol_at(int index); |
104 | 107 |
105 // Get the ciMethod representing an unloaded/unfound method. | 108 // Get the ciMethod representing an unloaded/unfound method. |
106 ciMethod* get_unloaded_method(ciInstanceKlass* holder, | 109 ciMethod* get_unloaded_method(ciInstanceKlass* holder, |
107 ciSymbol* name, | 110 ciSymbol* name, |
108 ciSymbol* signature); | 111 ciSymbol* signature, |
112 ciInstanceKlass* accessor); | |
109 | 113 |
110 // Get a ciKlass representing an unloaded klass. | 114 // Get a ciKlass representing an unloaded klass. |
111 ciKlass* get_unloaded_klass(ciKlass* accessing_klass, | 115 ciKlass* get_unloaded_klass(ciKlass* accessing_klass, |
112 ciSymbol* name, | 116 ciSymbol* name, |
113 bool create_if_not_found); | 117 bool create_if_not_found); |