mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
7146442: assert(false) failed: bad AD file
Take into account only stores captured by Initialize node. Added missing check for Top input in value() methods. Reviewed-by: never
This commit is contained in:
parent
5f68d9921d
commit
22db6951dc
2 changed files with 9 additions and 33 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1051,6 +1051,7 @@ Node *ConvL2INode::Ideal(PhaseGVN *phase, bool can_reshape) {
|
|||
//------------------------------Value------------------------------------------
|
||||
const Type *CastX2PNode::Value( PhaseTransform *phase ) const {
|
||||
const Type* t = phase->type(in(1));
|
||||
if (t == Type::TOP) return Type::TOP;
|
||||
if (t->base() == Type_X && t->singleton()) {
|
||||
uintptr_t bits = (uintptr_t) t->is_intptr_t()->get_con();
|
||||
if (bits == 0) return TypePtr::NULL_PTR;
|
||||
|
@ -1121,6 +1122,7 @@ Node *CastX2PNode::Identity( PhaseTransform *phase ) {
|
|||
//------------------------------Value------------------------------------------
|
||||
const Type *CastP2XNode::Value( PhaseTransform *phase ) const {
|
||||
const Type* t = phase->type(in(1));
|
||||
if (t == Type::TOP) return Type::TOP;
|
||||
if (t->base() == Type::RawPtr && t->singleton()) {
|
||||
uintptr_t bits = (uintptr_t) t->is_rawptr()->get_con();
|
||||
return TypeX::make(bits);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue