Mercurial > hg > graal-compiler
comparison src/share/vm/opto/parse3.cpp @ 17671:de95063c0e34
8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Summary: type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
author | roland |
---|---|
date | Fri, 24 Jan 2014 09:31:53 +0100 |
parents | edb5ab0f3fe5 |
children | 45467c53f178 |
comparison
equal
deleted
inserted
replaced
17670:04d32e7fad07 | 17671:de95063c0e34 |
---|---|
335 // cases: | 335 // cases: |
336 // can_be_constant = (oop not scavengable || ScavengeRootsInCode != 0) | 336 // can_be_constant = (oop not scavengable || ScavengeRootsInCode != 0) |
337 // should_be_constant = (oop not scavengable || ScavengeRootsInCode >= 2) | 337 // should_be_constant = (oop not scavengable || ScavengeRootsInCode >= 2) |
338 // An oop is not scavengable if it is in the perm gen. | 338 // An oop is not scavengable if it is in the perm gen. |
339 if (stable_type != NULL && con_type != NULL && con_type->isa_oopptr()) | 339 if (stable_type != NULL && con_type != NULL && con_type->isa_oopptr()) |
340 con_type = con_type->join(stable_type); | 340 con_type = con_type->join_speculative(stable_type); |
341 break; | 341 break; |
342 | 342 |
343 case T_ILLEGAL: | 343 case T_ILLEGAL: |
344 // Invalid ciConstant returned due to OutOfMemoryError in the CI | 344 // Invalid ciConstant returned due to OutOfMemoryError in the CI |
345 assert(C->env()->failing(), "otherwise should not see this"); | 345 assert(C->env()->failing(), "otherwise should not see this"); |