Mercurial > hg > truffle
comparison src/share/vm/opto/macro.cpp @ 1609:4311f23817fd
6959430: Make sure raw loads have control edge
Summary: check that raw loads have control edge
Reviewed-by: never, twisti
author | kvn |
---|---|
date | Tue, 15 Jun 2010 18:07:27 -0700 |
parents | c18cbe5936b8 |
children | 6027dddc26c6 |
comparison
equal
deleted
inserted
replaced
1608:2389669474a6 | 1609:4311f23817fd |
---|---|
1429 InitializeNode* init = alloc->initialization(); | 1429 InitializeNode* init = alloc->initialization(); |
1430 // Store the klass & mark bits | 1430 // Store the klass & mark bits |
1431 Node* mark_node = NULL; | 1431 Node* mark_node = NULL; |
1432 // For now only enable fast locking for non-array types | 1432 // For now only enable fast locking for non-array types |
1433 if (UseBiasedLocking && (length == NULL)) { | 1433 if (UseBiasedLocking && (length == NULL)) { |
1434 mark_node = make_load(NULL, rawmem, klass_node, Klass::prototype_header_offset_in_bytes() + sizeof(oopDesc), TypeRawPtr::BOTTOM, T_ADDRESS); | 1434 mark_node = make_load(control, rawmem, klass_node, Klass::prototype_header_offset_in_bytes() + sizeof(oopDesc), TypeRawPtr::BOTTOM, T_ADDRESS); |
1435 } else { | 1435 } else { |
1436 mark_node = makecon(TypeRawPtr::make((address)markOopDesc::prototype())); | 1436 mark_node = makecon(TypeRawPtr::make((address)markOopDesc::prototype())); |
1437 } | 1437 } |
1438 rawmem = make_store(control, rawmem, object, oopDesc::mark_offset_in_bytes(), mark_node, T_ADDRESS); | 1438 rawmem = make_store(control, rawmem, object, oopDesc::mark_offset_in_bytes(), mark_node, T_ADDRESS); |
1439 | 1439 |