Index: common/gc_common.cpp =================================================================== --- common/gc_common.cpp (revision 525361) +++ common/gc_common.cpp (working copy) @@ -238,7 +238,7 @@ } if (is_property_set("gc.use_large_page", VM_PROPERTIES) == 1){ - char* value = get_property("gc.large_page", VM_PROPERTIES); + char* value = get_property("gc.use_large_page", VM_PROPERTIES); large_page_hint = strdup(value); destroy_property_value(value); } @@ -321,3 +321,4 @@ + Index: finalizer_weakref/finalizer_weakref_metadata.cpp =================================================================== --- finalizer_weakref/finalizer_weakref_metadata.cpp (revision 525361) +++ finalizer_weakref/finalizer_weakref_metadata.cpp (working copy) @@ -310,7 +310,7 @@ void finref_repset_add_entry(GC *gc, REF* p_ref) { assert(*p_ref); - assert(*(unsigned int*)*p_ref); + assert(read_slot(p_ref)); Finref_Metadata *metadata = gc->finref_metadata; finref_metadata_add_entry(gc, metadata->repset, metadata->repset_pool, (POINTER_SIZE_INT)p_ref); } Index: verify/verifier_common.cpp =================================================================== --- verify/verifier_common.cpp (revision 525361) +++ verify/verifier_common.cpp (working copy) @@ -130,9 +130,9 @@ heap_verifier->need_verify_gc= TRUE; }else{ printf("Parse verify option error.\n"); - printf("Usage: -XDgc.verify=rooset,writebarrier,allocation,gc \n"); - printf("Usage: -XDgc.verify=default \n"); - printf("Usage: -XDgc.verify=all \n"); + printf("Usage: -XX:gc.verify=rooset,writebarrier,allocation,gc \n"); + printf("Usage: -XX:gc.verify=default \n"); + printf("Usage: -XX:gc.verify=all \n"); return FALSE; } } Index: verify/verifier_scanner.cpp =================================================================== --- verify/verifier_scanner.cpp (revision 525361) +++ verify/verifier_scanner.cpp (working copy) @@ -150,7 +150,7 @@ while(obj_set){ POINTER_SIZE_INT* iter = vector_block_iterator_init(obj_set); while(!vector_block_iterator_end(obj_set,iter)){ - Partial_Reveal_Object* p_obj = (Partial_Reveal_Object* )*iter; + Partial_Reveal_Object* p_obj = read_slot((REF*)iter); iter = vector_block_iterator_advance(obj_set,iter); /*p_obj can be NULL , When GC happened, the obj in Finalize objs list will be clear.*/ //assert(p_obj != NULL); @@ -193,8 +193,12 @@ if(heap_verifier->is_before_gc){ verifier_trace_objsets(heap_verifier, gc->finref_metadata->obj_with_fin_pool); }else{ - verify_live_finalizable_obj(heap_verifier, gc->finref_metadata->obj_with_fin_pool); - verifier_trace_objsets(heap_verifier, gc->finref_metadata->finalizable_obj_pool); + if(!heap_verifier->gc_verifier->is_before_fallback_collection){ + verify_live_finalizable_obj(heap_verifier, gc->finref_metadata->obj_with_fin_pool); + verifier_trace_objsets(heap_verifier, gc->finref_metadata->finalizable_obj_pool); + }else{ + verifier_trace_objsets(heap_verifier, gc->finref_metadata->obj_with_fin_pool); + } } heap_verifier->gc_verifier->is_tracing_resurrect_obj = FALSE; verifier_update_info_after_resurrect(heap_verifier); @@ -382,3 +386,4 @@ } + Index: verify/verify_gc_effect.cpp =================================================================== --- verify/verify_gc_effect.cpp (revision 525361) +++ verify/verify_gc_effect.cpp (working copy) @@ -60,7 +60,7 @@ while(live_fin_objs){ POINTER_SIZE_INT * iter = vector_block_iterator_init(live_fin_objs); while(!vector_block_iterator_end(live_fin_objs, iter)){ - Partial_Reveal_Object* p_fin_obj = (Partial_Reveal_Object*) *iter; + Partial_Reveal_Object* p_fin_obj = read_slot((REF*)iter); iter = vector_block_iterator_advance(live_fin_objs, iter); if(p_fin_obj==NULL) continue; assert(obj_is_marked_in_vt(p_fin_obj)); @@ -309,3 +309,4 @@ } +