Changeset 420
- Timestamp:
- 09/14/10 14:45:34 (18 months ago)
- Location:
- nanokit/nanovm/branches/rtgc-des-branch/src
- Files:
-
- 3 modified
-
include/nopen/vmcore/vm_interface_internal.h (modified) (1 diff)
-
modules/vmcore/src/gc/dll_gc.cpp (modified) (5 diffs)
-
modules/vmcore/src/object/vm_arrays.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
nanokit/nanovm/branches/rtgc-des-branch/src/include/nopen/vmcore/vm_interface_internal.h
r413 r420 413 413 D_MEMBER(void, vm_ti_enumerate_heap_root, (jvmtiEnv* env, void* root, Managed_Object_Handle obj, jvmtiHeapRootKind root_kind)) 414 414 D_MEMBER(ManagedObject*, gc_get_field_ref_barrier, (ManagedObject* obj, unsigned offset)) 415 D_MEMBER(void, gc_get_field_ref_barrier,(Managed_Object_Handle *reference_field_addr))415 // D_MEMBER(void, gc_get_field_ref_barrier,(Managed_Object_Handle *reference_field_addr)) 416 416 417 417 D_MEMBER(ManagedObject*, gc_get_static_ref_barrier, (ManagedObject** addr)) -
nanokit/nanovm/branches/rtgc-des-branch/src/modules/vmcore/src/gc/dll_gc.cpp
r413 r420 34 34 35 35 //default routines of gc interfaces 36 static void default_gc_get_field_ref_barrier(Managed_Object_Handle* reference_field_addr);37 36 static Managed_Object_Handle default_gc_get_field_barrier(Managed_Object_Handle obj, unsigned offset); 38 37 static Managed_Object_Handle default_gc_put_field_barrier(Managed_Object_Handle obj, unsigned offset); … … 56 55 57 56 static void default_gc_heap_slot_write_ref_check(Managed_Object_Handle p_base_of_object_with_slot, 58 Managed_ object_Handle *p_slot,57 Managed_Object_Handle *p_slot, 59 58 Managed_Object_Handle value); 60 59 … … 145 144 146 145 //set the initial default value 147 gc_intf->gc_get_field_ref_barrier = default_gc_get_field_ref_barrier;148 146 gc_intf->gc_get_field_barrier = default_gc_get_field_barrier; 149 147 gc_intf->gc_put_field_barrier = default_gc_put_field_barrier; … … 202 200 //patch the Global_Env::vm_interface with gc barrier functions 203 201 _OpenVm* vm_intf = (_OpenVm*)(VM_Global_State::loader_env->vm_interface); 204 vm_intf->gc_get_field_ref_barrier = gc_intf->gc_get_field_ref_barrier;205 202 vm_intf->gc_get_static_ref_barrier = gc_intf->gc_get_static_ref_barrier; 206 203 vm_intf->gc_put_field_ref_barrier = gc_intf->gc_put_field_ref_barrier; … … 454 451 } //default_gc_supports_class_unloading 455 452 456 static void default_gc_get_field_ref_barrier(Managed_Object_Handle* reference_field_addr){457 return;458 }459 453 460 454 static Managed_Object_Handle default_gc_get_field_barrier(Managed_Object_Handle obj, unsigned offset){ -
nanokit/nanovm/branches/rtgc-des-branch/src/modules/vmcore/src/object/vm_arrays.cpp
r411 r420 604 604 } 605 605 // If ArrayStoreException hasn't been thrown, copy the element. 606 gc_get_field_ref_barrier((Managed_Object_Handle*)(src_body+count));606 // gc_get_field_ref_barrier((Managed_Object_Handle*)(src_body+count)); 607 607 dst_body[count] = src_body[count]; 608 608 // There is not a gc_heap_write_ref call here since gc is disabled and we use gc_heap_wrote_object interface below.
