src/share/vm/opto/stringopts.cpp

changeset 1685
3f5b7efb9642
parent 1515
7c57aead6d3e
child 1907
c18cbe5936b8
     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);

mercurial