comparison src/share/vm/opto/callnode.cpp @ 14909:4ca6dc0799b6

Backout jdk9 merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 01 Apr 2014 13:57:07 +0200
parents abec000618bf
children 89152779163c
comparison
equal deleted inserted replaced
14908:8db6e76cb658 14909:4ca6dc0799b6
1 /* 1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
340 switch (t->base()) { 340 switch (t->base()) {
341 case Type::Int: 341 case Type::Int:
342 st->print(" %s%d]=#"INT32_FORMAT,msg,i,t->is_int()->get_con()); 342 st->print(" %s%d]=#"INT32_FORMAT,msg,i,t->is_int()->get_con());
343 break; 343 break;
344 case Type::AnyPtr: 344 case Type::AnyPtr:
345 assert( t == TypePtr::NULL_PTR || n->in_dump(), "" ); 345 assert( t == TypePtr::NULL_PTR, "" );
346 st->print(" %s%d]=#NULL",msg,i); 346 st->print(" %s%d]=#NULL",msg,i);
347 break; 347 break;
348 case Type::AryPtr: 348 case Type::AryPtr:
349 case Type::InstPtr: 349 case Type::InstPtr:
350 st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,t->isa_oopptr()->const_oop()); 350 st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,t->isa_oopptr()->const_oop());
593 for (JVMState* p = this; p->_caller != NULL; p = p->_caller) { 593 for (JVMState* p = this; p->_caller != NULL; p = p->_caller) {
594 p->set_map(map); 594 p->set_map(map);
595 } 595 }
596 } 596 }
597 597
598 // Adapt offsets in in-array after adding or removing an edge.
599 // Prerequisite is that the JVMState is used by only one node.
600 void JVMState::adapt_position(int delta) {
601 for (JVMState* jvms = this; jvms != NULL; jvms = jvms->caller()) {
602 jvms->set_locoff(jvms->locoff() + delta);
603 jvms->set_stkoff(jvms->stkoff() + delta);
604 jvms->set_monoff(jvms->monoff() + delta);
605 jvms->set_scloff(jvms->scloff() + delta);
606 jvms->set_endoff(jvms->endoff() + delta);
607 }
608 }
609
610 //============================================================================= 598 //=============================================================================
611 uint CallNode::cmp( const Node &n ) const 599 uint CallNode::cmp( const Node &n ) const
612 { return _tf == ((CallNode&)n)._tf && _jvms == ((CallNode&)n)._jvms; } 600 { return _tf == ((CallNode&)n)._tf && _jvms == ((CallNode&)n)._jvms; }
613 #ifndef PRODUCT 601 #ifndef PRODUCT
614 void CallNode::dump_req(outputStream *st) const { 602 void CallNode::dump_req(outputStream *st) const {
897 int CallStaticJavaNode::extract_uncommon_trap_request(const Node* call) { 885 int CallStaticJavaNode::extract_uncommon_trap_request(const Node* call) {
898 #ifndef PRODUCT 886 #ifndef PRODUCT
899 if (!(call->req() > TypeFunc::Parms && 887 if (!(call->req() > TypeFunc::Parms &&
900 call->in(TypeFunc::Parms) != NULL && 888 call->in(TypeFunc::Parms) != NULL &&
901 call->in(TypeFunc::Parms)->is_Con())) { 889 call->in(TypeFunc::Parms)->is_Con())) {
902 assert(in_dump() != 0, "OK if dumping"); 890 assert(_in_dump_cnt != 0, "OK if dumping");
903 tty->print("[bad uncommon trap]"); 891 tty->print("[bad uncommon trap]");
904 return 0; 892 return 0;
905 } 893 }
906 #endif 894 #endif
907 return call->in(TypeFunc::Parms)->bottom_type()->is_int()->get_con(); 895 return call->in(TypeFunc::Parms)->bottom_type()->is_int()->get_con();