예제 #1
0
 // Throw an uncommon trap if a given value is __not__ null.
 // Return the value cast to null, and be clever about dominating checks.
 Node* do_null_assert(Node* value, BasicType type) {
   return null_check_common(value, type, true, NULL);
 }
예제 #2
0
 // Throw an exception if a given value is null.
 // Return the value cast to not-null.
 // Be clever about equivalent dominating null checks.
 Node* do_null_check(Node* value, BasicType type) {
   return null_check_common(value, type, false, NULL);
 }
예제 #3
0
 Node* zero_check_long(Node* value) {
     assert(value->bottom_type()->basic_type() == T_LONG,
            "wrong type: %s", type2name(value->bottom_type()->basic_type()));
     return null_check_common(value, T_LONG);
 }
예제 #4
0
 // Throw an uncommon trap if a given value is __not__ null.
 // Return the value cast to null, and be clever about dominating checks.
 Node* null_assert(Node* value, BasicType type = T_OBJECT) {
     return null_check_common(value, type, true);
 }
예제 #5
0
 Node* null_check(Node* value, BasicType type = T_OBJECT) {
     return null_check_common(value, type, false, NULL, !_gvn.type(value)->speculative_maybe_null());
 }