Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/memnode.cpp @ 2004:4da76e32c0be
7002666: eclipse CDT projects crash with compressed oops
Reviewed-by: kvn, twisti
author | never |
---|---|
date | Wed, 01 Dec 2010 10:16:31 -0800 |
parents | f95d63e2154a |
children | 5a41a201d08c |
comparison
equal
deleted
inserted
replaced
2003:dbbf44db0107 | 2004:4da76e32c0be |
---|---|
3597 zeroes_done = align_size_down(zeroes_done, BytesPerInt); | 3597 zeroes_done = align_size_down(zeroes_done, BytesPerInt); |
3598 // if it is the last unused 4 bytes of an instance, forget about it | 3598 // if it is the last unused 4 bytes of an instance, forget about it |
3599 intptr_t size_limit = phase->find_intptr_t_con(size_in_bytes, max_jint); | 3599 intptr_t size_limit = phase->find_intptr_t_con(size_in_bytes, max_jint); |
3600 if (zeroes_done + BytesPerLong >= size_limit) { | 3600 if (zeroes_done + BytesPerLong >= size_limit) { |
3601 assert(allocation() != NULL, ""); | 3601 assert(allocation() != NULL, ""); |
3602 Node* klass_node = allocation()->in(AllocateNode::KlassNode); | 3602 if (allocation()->Opcode() == Op_Allocate) { |
3603 ciKlass* k = phase->type(klass_node)->is_klassptr()->klass(); | 3603 Node* klass_node = allocation()->in(AllocateNode::KlassNode); |
3604 if (zeroes_done == k->layout_helper()) | 3604 ciKlass* k = phase->type(klass_node)->is_klassptr()->klass(); |
3605 zeroes_done = size_limit; | 3605 if (zeroes_done == k->layout_helper()) |
3606 zeroes_done = size_limit; | |
3607 } | |
3606 } | 3608 } |
3607 if (zeroes_done < size_limit) { | 3609 if (zeroes_done < size_limit) { |
3608 rawmem = ClearArrayNode::clear_memory(rawctl, rawmem, rawptr, | 3610 rawmem = ClearArrayNode::clear_memory(rawctl, rawmem, rawptr, |
3609 zeroes_done, size_in_bytes, phase); | 3611 zeroes_done, size_in_bytes, phase); |
3610 } | 3612 } |