You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by xl...@apache.org on 2008/01/24 03:06:26 UTC
svn commit: r614767 - in /harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common:
hashcode.cpp hashcode.h
Author: xli
Date: Wed Jan 23 18:06:17 2008
New Revision: 614767
URL: http://svn.apache.org/viewvc?rev=614767&view=rev
Log:
HARMONY-5303 : [drlvm][Linux64 gcc bug] EUT hangs up
Modified:
harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.cpp
harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.h
Modified: harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.cpp?rev=614767&r1=614766&r2=614767&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.cpp Wed Jan 23 18:06:17 2008
@@ -31,7 +31,7 @@
if((POINTER_SIZE_INT)dest_addr != (POINTER_SIZE_INT)p_obj){
*p_obj_size += GC_OBJECT_ALIGNMENT;
obj_info = obj_info | HASHCODE_ATTACHED_BIT;
- *(int*) &hashcode = hashcode_gen(p_obj);
+ hashcode = (POINTER_SIZE_INT)hashcode_gen(p_obj);
POINTER_SIZE_INT obj_end_pos = (POINTER_SIZE_INT)dest_addr + vm_object_size(p_obj);
collector_hashcodeset_add_entry(collector, (Partial_Reveal_Object**)obj_end_pos);
collector_hashcodeset_add_entry(collector, (Partial_Reveal_Object**)hashcode);
@@ -43,7 +43,7 @@
break;
case HASHCODE_SET_BUFFERED:
- *(int*) &hashcode = hashcode_buf_lookup(p_obj, old_buf);
+ hashcode = (POINTER_SIZE_INT)hashcode_buf_lookup(p_obj, old_buf);
if((POINTER_SIZE_INT)dest_addr != (POINTER_SIZE_INT)p_obj){
*p_obj_size += GC_OBJECT_ALIGNMENT;
obj_info = obj_info & ~HASHCODE_BUFFERED_BIT;
@@ -52,7 +52,7 @@
collector_hashcodeset_add_entry(collector, (Partial_Reveal_Object**)obj_end_pos);
collector_hashcodeset_add_entry(collector, (Partial_Reveal_Object**)hashcode);
}else{
- hashcode_buf_add((Partial_Reveal_Object*)dest_addr, *(int*) &hashcode, new_buf);
+ hashcode_buf_add((Partial_Reveal_Object*)dest_addr, (int32)hashcode, new_buf);
}
break;
@@ -86,6 +86,7 @@
}
/* processing of hashcode in different GC algorithms --> */
+
Modified: harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.h?rev=614767&r1=614766&r2=614767&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/hashcode.h Wed Jan 23 18:06:17 2008
@@ -152,7 +152,7 @@
POINTER_SIZE_INT hashcode = (POINTER_SIZE_INT)*iter;
iter = vector_block_iterator_advance(curr_block, iter);
unlock(hashcode_buf->lock);
- return *(int*)&hashcode;
+ return (int)hashcode;
}
}
}
@@ -167,7 +167,7 @@
Vector_Block* tail_block = (Vector_Block*)seq_list_end_node(list);
vector_block_add_entry(tail_block, (POINTER_SIZE_INT) p_obj);
POINTER_SIZE_INT hashcode_var = 0;
- *(int*) &hashcode_var = hashcode;
+ hashcode_var = (POINTER_SIZE_INT)hashcode;
vector_block_add_entry(tail_block, hashcode_var);
if(!vector_block_is_full(tail_block)) return;
@@ -236,7 +236,7 @@
iter =vector_block_iterator_advance(first_block, iter);
POINTER_SIZE_INT hashcode = (POINTER_SIZE_INT)*iter;
iter =vector_block_iterator_advance(first_block, iter);
- hashcode_buf_add(p_obj, *(int*) &hashcode, new_buf);
+ hashcode_buf_add(p_obj, (int32)hashcode, new_buf);
}
first_block->tail = old_buf->checkpoint;
@@ -251,7 +251,7 @@
POINTER_SIZE_INT hashcode = (POINTER_SIZE_INT)*iter;
iter =vector_block_iterator_advance(curr_block, iter);
- hashcode_buf_add(p_obj, *(int*) &hashcode, new_buf);
+ hashcode_buf_add(p_obj, (int32)hashcode, new_buf);
}
hashcode_buf_remove(old_buf, curr_block);
}