|
Quick Lists
|
|
Bug ID:
|
6715633
|
|
Votes
|
0
|
|
Synopsis
|
when matching a memory node the adr_type should not change
|
|
Category
|
hotspot:compiler2
|
|
Reported Against
|
|
|
Release Fixed
|
hs14(b01)
|
|
State
|
10-Fix Delivered,
request for enhancement
|
|
Priority:
|
4-Low
|
|
Related Bugs
|
|
|
Submit Date
|
17-JUN-2008
|
|
Description
|
>> Tom Rodriguez wrote:
>>> Here's a side question: when matching a memory node we should expect
>>> that the adr_type doesn't change. Is there an obvious place to put
>>> an assert about that during matching? It's complicated because of
>>> matches with multiple nodes but it would be nice to catch these
>>> problems immediately.
>
> Vladimir Kozlov wrote:
>> So you want to add an additional adr_type field to all memory mach nodes
>> during matching and then compare in assert the result of MachNode::adr_type()
>> and this field. Is is correct? I will file a bug to investigate it.
>
Tom Rodriguez wrote:
> Actually that's a customer idea too. Regular memnodes do something like
> that right now I think to check that the adr_type doesn't change over
> time. I was just thinking that we should verify that the adr_type of
> the ideal node matches the adr_type of the machnode that is produced for
> it at match time. Basically the adr_type shouldn't change from the time
> the ideal memory operation is constructed to the time we emit assembly
> for it. We'd have caught this pretty early if we had these checks in
> place.
Posted Date : 2008-06-17 18:08:09.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
MachNode::get_base_and_disp() does not process correctly
an addressing with a narrow oop LoadConN node (is_Con() == true).
As result the adr_type() for such addresses is "BotPTR* + bot"
which aliases with all stores.
The mach node loadNKlass has wrong bottom_type() since
its base class is not MachTypeNode (as for loadKlass)
because we missed it in InstructForm::captures_bottom_type).
DecodeN::value() and EncodeN::value() always return the type
with which a node was created when it should return the type
based on the type of the current input node (which could be
different from an original input node).
Posted Date : 2008-06-20 22:02:28.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |