comparison graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java @ 18490:ca81508f2a19

Generalize NULL handling to work on arbitrary pointers.
author Roland Schatz <roland.schatz@oracle.com>
date Mon, 24 Nov 2014 13:53:14 +0100
parents 45b45f902bed
children f57d86eb036f
comparison
equal deleted inserted replaced
18489:1a21e7ced544 18490:ca81508f2a19
110 if (Objects.equals(type, lastCheckedType)) { 110 if (Objects.equals(type, lastCheckedType)) {
111 // We have already incorporate the knowledge about this type => abort. 111 // We have already incorporate the knowledge about this type => abort.
112 return this; 112 return this;
113 } 113 }
114 lastCheckedType = type; 114 lastCheckedType = type;
115 JavaTypeProfile newProfile = this.profile.restrict(type, StampTool.isObjectNonNull(forValue)); 115 JavaTypeProfile newProfile = this.profile.restrict(type, StampTool.isPointerNonNull(forValue));
116 if (newProfile != this.profile) { 116 if (newProfile != this.profile) {
117 Debug.log("Improved profile via static type information."); 117 Debug.log("Improved profile via static type information.");
118 if (newProfile.getTypes().length == 0) { 118 if (newProfile.getTypes().length == 0) {
119 // Only null profiling is not beneficial enough to keep the node around. 119 // Only null profiling is not beneficial enough to keep the node around.
120 return forValue; 120 return forValue;