Mercurial > hg > truffle
comparison agent/src/share/classes/sun/jvm/hotspot/opto/Block.java @ 14499:1077c8270209
8033260: assert(lrg._area >= 0.0) failed: negative spill area
Summary: Change type from float to double on block frequency, and add check for +Inf - +Inf operation
Reviewed-by: kvn, roland
author | adlertz |
---|---|
date | Tue, 25 Feb 2014 17:51:27 +0100 |
parents | 79f492f184d0 |
children | 4ca6dc0799b6 |
comparison
equal
deleted
inserted
replaced
14498:04e7587c97dc | 14499:1077c8270209 |
---|---|
46 succsField = type.getAddressField("_succs"); | 46 succsField = type.getAddressField("_succs"); |
47 numSuccsField = new CIntField(type.getCIntegerField("_num_succs"), 0); | 47 numSuccsField = new CIntField(type.getCIntegerField("_num_succs"), 0); |
48 preOrderField = new CIntField(type.getCIntegerField("_pre_order"), 0); | 48 preOrderField = new CIntField(type.getCIntegerField("_pre_order"), 0); |
49 domDepthField = new CIntField(type.getCIntegerField("_dom_depth"), 0); | 49 domDepthField = new CIntField(type.getCIntegerField("_dom_depth"), 0); |
50 idomField = type.getAddressField("_idom"); | 50 idomField = type.getAddressField("_idom"); |
51 freqField = type.getJFloatField("_freq"); | 51 freqField = type.getJDoubleField("_freq"); |
52 } | 52 } |
53 | 53 |
54 private static AddressField nodesField; | 54 private static AddressField nodesField; |
55 private static AddressField succsField; | 55 private static AddressField succsField; |
56 private static CIntField numSuccsField; | 56 private static CIntField numSuccsField; |
57 private static CIntField preOrderField; | 57 private static CIntField preOrderField; |
58 private static CIntField domDepthField; | 58 private static CIntField domDepthField; |
59 private static AddressField idomField; | 59 private static AddressField idomField; |
60 private static JFloatField freqField; | 60 private static JDoubleField freqField; |
61 | 61 |
62 public Block(Address addr) { | 62 public Block(Address addr) { |
63 super(addr); | 63 super(addr); |
64 } | 64 } |
65 | 65 |
66 public int preOrder() { | 66 public int preOrder() { |
67 return (int)preOrderField.getValue(getAddress()); | 67 return (int)preOrderField.getValue(getAddress()); |
68 } | 68 } |
69 | 69 |
70 public float freq() { | 70 public double freq() { |
71 return (float)freqField.getValue(getAddress()); | 71 return (double)freqField.getValue(getAddress()); |
72 } | 72 } |
73 | 73 |
74 public Node_List nodes() { | 74 public Node_List nodes() { |
75 return new Node_List(getAddress().addOffsetTo(nodesField.getOffset())); | 75 return new Node_List(getAddress().addOffsetTo(nodesField.getOffset())); |
76 } | 76 } |