equal
deleted
inserted
replaced
688 } |
688 } |
689 |
689 |
690 // recorded type: cell without bit 0 and 1 |
690 // recorded type: cell without bit 0 and 1 |
691 static intptr_t klass_part(intptr_t v) { |
691 static intptr_t klass_part(intptr_t v) { |
692 intptr_t r = v & type_klass_mask; |
692 intptr_t r = v & type_klass_mask; |
693 assert (r != 0, "invalid"); |
|
694 return r; |
693 return r; |
695 } |
694 } |
696 |
695 |
697 // type recorded |
696 // type recorded |
698 static Klass* valid_klass(intptr_t k) { |
697 static Klass* valid_klass(intptr_t k) { |
699 if (!is_type_none(k) && |
698 if (!is_type_none(k) && |
700 !is_type_unknown(k)) { |
699 !is_type_unknown(k)) { |
701 return (Klass*)klass_part(k); |
700 Klass* res = (Klass*)klass_part(k); |
|
701 assert(res != NULL, "invalid"); |
|
702 return res; |
702 } else { |
703 } else { |
703 return NULL; |
704 return NULL; |
704 } |
705 } |
705 } |
706 } |
706 |
707 |