1.1 --- a/src/share/vm/opto/stringopts.cpp Thu Feb 04 11:16:23 2010 -0800 1.2 +++ b/src/share/vm/opto/stringopts.cpp Fri Feb 05 11:07:40 2010 -0800 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. 1.6 + * Copyright 2009-2010 Sun Microsystems, Inc. All Rights Reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -1073,7 +1073,7 @@ 1.11 kit.set_control(head); 1.12 kit.set_memory(mem, char_adr_idx); 1.13 1.14 - Node* q = __ DivI(kit.null(), i_phi, __ intcon(10)); 1.15 + Node* q = __ DivI(NULL, i_phi, __ intcon(10)); 1.16 Node* r = __ SubI(i_phi, __ AddI(__ LShiftI(q, __ intcon(3)), 1.17 __ LShiftI(q, __ intcon(1)))); 1.18 Node* m1 = __ SubI(charPos, __ intcon(1)); 1.19 @@ -1270,14 +1270,15 @@ 1.20 // length = length + (s.count - s.offset); 1.21 RegionNode *r = new (C, 3) RegionNode(3); 1.22 kit.gvn().set_type(r, Type::CONTROL); 1.23 - Node *phi = new (C, 3) PhiNode(r, type->join(TypeInstPtr::NOTNULL)); 1.24 + Node *phi = new (C, 3) PhiNode(r, type); 1.25 kit.gvn().set_type(phi, phi->bottom_type()); 1.26 Node* p = __ Bool(__ CmpP(arg, kit.null()), BoolTest::ne); 1.27 IfNode* iff = kit.create_and_map_if(kit.control(), p, PROB_MIN, COUNT_UNKNOWN); 1.28 Node* notnull = __ IfTrue(iff); 1.29 Node* isnull = __ IfFalse(iff); 1.30 + kit.set_control(notnull); // set control for the cast_not_null 1.31 r->init_req(1, notnull); 1.32 - phi->init_req(1, arg); 1.33 + phi->init_req(1, kit.cast_not_null(arg, false)); 1.34 r->init_req(2, isnull); 1.35 phi->init_req(2, null_string); 1.36 kit.set_control(r);