Mercurial > hg > graal-compiler
changeset 7173:5de2a5bd519e
Merge
author | zgu |
---|---|
date | Wed, 28 Nov 2012 06:42:03 -0800 |
parents | bbc14465e7db (current diff) 7c15faa95ce7 (diff) |
children | b51dc8df86e5 |
files | |
diffstat | 4 files changed, 27 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp Wed Nov 28 09:19:38 2012 -0500 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp Wed Nov 28 06:42:03 2012 -0800 @@ -65,8 +65,7 @@ declare_toplevel_type(AFLBinaryTreeDictionary*) \ declare_toplevel_type(LinearAllocBlock) \ declare_toplevel_type(FreeBlockDictionary<FreeChunk>) \ - declare_type(AFLBinaryTreeDictionary, FreeBlockDictionary<FreeChunk>) \ - declare_type(AFLBinaryTreeDictionary, FreeBlockDictionary<FreeChunk>) \ + declare_type(AFLBinaryTreeDictionary, FreeBlockDictionary<FreeChunk>) #define VM_INT_CONSTANTS_CMS(declare_constant) \ declare_constant(Generation::ConcurrentMarkSweep) \
--- a/src/share/vm/prims/jni.cpp Wed Nov 28 09:19:38 2012 -0500 +++ b/src/share/vm/prims/jni.cpp Wed Nov 28 06:42:03 2012 -0800 @@ -5044,6 +5044,9 @@ #include "gc_interface/collectedHeap.hpp" #include "utilities/quickSort.hpp" +#if INCLUDE_VM_STRUCTS +#include "runtime/vmStructs.hpp" +#endif #define run_unit_test(unit_test_function_call) \ tty->print_cr("Running test: " #unit_test_function_call); \ @@ -5056,6 +5059,9 @@ run_unit_test(CollectedHeap::test_is_in()); run_unit_test(QuickSort::test_quick_sort()); run_unit_test(AltHashing::test_alt_hash()); +#if INCLUDE_VM_STRUCTS + run_unit_test(VMStructs::test()); +#endif tty->print_cr("All internal VM tests passed"); } }
--- a/src/share/vm/runtime/vmStructs.cpp Wed Nov 28 09:19:38 2012 -0500 +++ b/src/share/vm/runtime/vmStructs.cpp Wed Nov 28 06:42:03 2012 -0800 @@ -2107,8 +2107,7 @@ declare_toplevel_type(FreeList<Metablock>*) \ declare_toplevel_type(FreeList<Metablock>) \ declare_toplevel_type(MetablockTreeDictionary*) \ - declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>) \ - declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>) + declare_type(MetablockTreeDictionary, FreeBlockDictionary<Metablock>) /* NOTE that we do not use the last_entry() macro here; it is used */ @@ -3215,3 +3214,17 @@ void vmStructs_init() { debug_only(VMStructs::init()); } + +#ifndef PRODUCT +void VMStructs::test() { + // Check for duplicate entries in type array + for (int i = 0; localHotSpotVMTypes[i].typeName != NULL; i++) { + for (int j = i + 1; localHotSpotVMTypes[j].typeName != NULL; j++) { + if (strcmp(localHotSpotVMTypes[i].typeName, localHotSpotVMTypes[j].typeName) == 0) { + tty->print_cr("Duplicate entries for '%s'", localHotSpotVMTypes[i].typeName); + assert(false, "Duplicate types in localHotSpotVMTypes array"); + } + } + } +} +#endif
--- a/src/share/vm/runtime/vmStructs.hpp Wed Nov 28 09:19:38 2012 -0500 +++ b/src/share/vm/runtime/vmStructs.hpp Wed Nov 28 06:42:03 2012 -0800 @@ -123,6 +123,11 @@ // the data structure (debug build only) static void init(); +#ifndef PRODUCT + // Execute unit tests + static void test(); +#endif + private: // Look up a type in localHotSpotVMTypes using strcmp() (debug build only). // Returns 1 if found, 0 if not.