diff src/share/vm/utilities/resourceHash.hpp @ 14456:abec000618bf

Merge
author kvn
date Tue, 28 Jan 2014 12:25:34 -0800
parents bdd155477289
children 3c6ae9109a86 4ca6dc0799b6
line wrap: on
line diff
--- a/src/share/vm/utilities/resourceHash.hpp	Tue Jan 28 11:21:43 2014 -0800
+++ b/src/share/vm/utilities/resourceHash.hpp	Tue Jan 28 12:25:34 2014 -0800
@@ -44,8 +44,12 @@
 
 template<
     typename K, typename V,
-    typename ResourceHashtableFns<K>::hash_fn   HASH   = primitive_hash<K>,
-    typename ResourceHashtableFns<K>::equals_fn EQUALS = primitive_equals<K>,
+    // xlC does not compile this:
+    // http://stackoverflow.com/questions/8532961/template-argument-of-type-that-is-defined-by-inner-typedef-from-other-template-c
+    //typename ResourceHashtableFns<K>::hash_fn   HASH   = primitive_hash<K>,
+    //typename ResourceHashtableFns<K>::equals_fn EQUALS = primitive_equals<K>,
+    unsigned (*HASH)  (K const&)           = primitive_hash<K>,
+    bool     (*EQUALS)(K const&, K const&) = primitive_equals<K>,
     unsigned SIZE = 256
     >
 class ResourceHashtable : public ResourceObj {