Mercurial > hg > graal-compiler
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; |