8007987: ciConstantPoolCache::_keys should be array of 32bit int
Summary: The type of ciConstantPoolCache::_keys is changed to int which is sufficient to store the 2 byte constant pool indices.
Reviewed-by: twisti, coleenp
--- a/hotspot/src/share/vm/ci/ciConstantPoolCache.cpp Mon Jun 30 08:28:29 2014 +0200
+++ b/hotspot/src/share/vm/ci/ciConstantPoolCache.cpp Tue Jul 01 09:02:45 2014 +0200
@@ -38,7 +38,7 @@
int expected_size) {
_elements =
new (arena) GrowableArray<void*>(arena, expected_size, 0, 0);
- _keys = new (arena) GrowableArray<intptr_t>(arena, expected_size, 0, 0);
+ _keys = new (arena) GrowableArray<int>(arena, expected_size, 0, 0);
}
// ------------------------------------------------------------------
--- a/hotspot/src/share/vm/ci/ciConstantPoolCache.hpp Mon Jun 30 08:28:29 2014 +0200
+++ b/hotspot/src/share/vm/ci/ciConstantPoolCache.hpp Tue Jul 01 09:02:45 2014 +0200
@@ -35,7 +35,7 @@
// Usage note: this klass has nothing to do with ConstantPoolCache*.
class ciConstantPoolCache : public ResourceObj {
private:
- GrowableArray<intptr_t>* _keys;
+ GrowableArray<int>* _keys;
GrowableArray<void*>* _elements;
int find(int index);