src/share/vm/opto/stringopts.cpp

changeset 4115
e626685e9f6c
parent 3927
ed21db7b3fda
child 4315
2aff40cb4703
     1.1 --- a/src/share/vm/opto/stringopts.cpp	Tue Sep 25 15:48:17 2012 -0700
     1.2 +++ b/src/share/vm/opto/stringopts.cpp	Thu Sep 27 09:38:42 2012 -0700
     1.3 @@ -69,7 +69,7 @@
     1.4      _multiple(false),
     1.5      _string_alloc(NULL),
     1.6      _stringopts(stringopts) {
     1.7 -    _arguments = new (_stringopts->C, 1) Node(1);
     1.8 +    _arguments = new (_stringopts->C) Node(1);
     1.9      _arguments->del_req(0);
    1.10    }
    1.11  
    1.12 @@ -220,11 +220,10 @@
    1.13        // Build a new call using the jvms state of the allocate
    1.14        address call_addr = SharedRuntime::uncommon_trap_blob()->entry_point();
    1.15        const TypeFunc* call_type = OptoRuntime::uncommon_trap_Type();
    1.16 -      int size = call_type->domain()->cnt();
    1.17        const TypePtr* no_memory_effects = NULL;
    1.18        Compile* C = _stringopts->C;
    1.19 -      CallStaticJavaNode* call = new (C, size) CallStaticJavaNode(call_type, call_addr, "uncommon_trap",
    1.20 -                                                                  jvms->bci(), no_memory_effects);
    1.21 +      CallStaticJavaNode* call = new (C) CallStaticJavaNode(call_type, call_addr, "uncommon_trap",
    1.22 +                                                            jvms->bci(), no_memory_effects);
    1.23        for (int e = 0; e < TypeFunc::Parms; e++) {
    1.24          call->init_req(e, uct->in(e));
    1.25        }
    1.26 @@ -969,9 +968,9 @@
    1.27  }
    1.28  
    1.29  Node* PhaseStringOpts::int_stringSize(GraphKit& kit, Node* arg) {
    1.30 -  RegionNode *final_merge = new (C, 3) RegionNode(3);
    1.31 +  RegionNode *final_merge = new (C) RegionNode(3);
    1.32    kit.gvn().set_type(final_merge, Type::CONTROL);
    1.33 -  Node* final_size = new (C, 3) PhiNode(final_merge, TypeInt::INT);
    1.34 +  Node* final_size = new (C) PhiNode(final_merge, TypeInt::INT);
    1.35    kit.gvn().set_type(final_size, TypeInt::INT);
    1.36  
    1.37    IfNode* iff = kit.create_and_map_if(kit.control(),
    1.38 @@ -988,11 +987,11 @@
    1.39    } else {
    1.40  
    1.41      // int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
    1.42 -    RegionNode *r = new (C, 3) RegionNode(3);
    1.43 +    RegionNode *r = new (C) RegionNode(3);
    1.44      kit.gvn().set_type(r, Type::CONTROL);
    1.45 -    Node *phi = new (C, 3) PhiNode(r, TypeInt::INT);
    1.46 +    Node *phi = new (C) PhiNode(r, TypeInt::INT);
    1.47      kit.gvn().set_type(phi, TypeInt::INT);
    1.48 -    Node *size = new (C, 3) PhiNode(r, TypeInt::INT);
    1.49 +    Node *size = new (C) PhiNode(r, TypeInt::INT);
    1.50      kit.gvn().set_type(size, TypeInt::INT);
    1.51      Node* chk = __ CmpI(arg, __ intcon(0));
    1.52      Node* p = __ Bool(chk, BoolTest::lt);
    1.53 @@ -1017,11 +1016,11 @@
    1.54      // Add loop predicate first.
    1.55      kit.add_predicate();
    1.56  
    1.57 -    RegionNode *loop = new (C, 3) RegionNode(3);
    1.58 +    RegionNode *loop = new (C) RegionNode(3);
    1.59      loop->init_req(1, kit.control());
    1.60      kit.gvn().set_type(loop, Type::CONTROL);
    1.61  
    1.62 -    Node *index = new (C, 3) PhiNode(loop, TypeInt::INT);
    1.63 +    Node *index = new (C) PhiNode(loop, TypeInt::INT);
    1.64      index->init_req(1, __ intcon(0));
    1.65      kit.gvn().set_type(index, TypeInt::INT);
    1.66      kit.set_control(loop);
    1.67 @@ -1054,7 +1053,7 @@
    1.68  }
    1.69  
    1.70  void PhaseStringOpts::int_getChars(GraphKit& kit, Node* arg, Node* char_array, Node* start, Node* end) {
    1.71 -  RegionNode *final_merge = new (C, 4) RegionNode(4);
    1.72 +  RegionNode *final_merge = new (C) RegionNode(4);
    1.73    kit.gvn().set_type(final_merge, Type::CONTROL);
    1.74    Node *final_mem = PhiNode::make(final_merge, kit.memory(char_adr_idx), Type::MEMORY, TypeAryPtr::CHARS);
    1.75    kit.gvn().set_type(final_mem, Type::MEMORY);
    1.76 @@ -1104,11 +1103,11 @@
    1.77                                          __ Bool(__ CmpI(arg, __ intcon(0)), BoolTest::lt),
    1.78                                          PROB_FAIR, COUNT_UNKNOWN);
    1.79  
    1.80 -    RegionNode *merge = new (C, 3) RegionNode(3);
    1.81 +    RegionNode *merge = new (C) RegionNode(3);
    1.82      kit.gvn().set_type(merge, Type::CONTROL);
    1.83 -    i = new (C, 3) PhiNode(merge, TypeInt::INT);
    1.84 +    i = new (C) PhiNode(merge, TypeInt::INT);
    1.85      kit.gvn().set_type(i, TypeInt::INT);
    1.86 -    sign = new (C, 3) PhiNode(merge, TypeInt::INT);
    1.87 +    sign = new (C) PhiNode(merge, TypeInt::INT);
    1.88      kit.gvn().set_type(sign, TypeInt::INT);
    1.89  
    1.90      merge->init_req(1, __ IfTrue(iff));
    1.91 @@ -1137,10 +1136,10 @@
    1.92      // Add loop predicate first.
    1.93      kit.add_predicate();
    1.94  
    1.95 -    RegionNode *head = new (C, 3) RegionNode(3);
    1.96 +    RegionNode *head = new (C) RegionNode(3);
    1.97      head->init_req(1, kit.control());
    1.98      kit.gvn().set_type(head, Type::CONTROL);
    1.99 -    Node *i_phi = new (C, 3) PhiNode(head, TypeInt::INT);
   1.100 +    Node *i_phi = new (C) PhiNode(head, TypeInt::INT);
   1.101      i_phi->init_req(1, i);
   1.102      kit.gvn().set_type(i_phi, TypeInt::INT);
   1.103      charPos = PhiNode::make(head, charPos);
   1.104 @@ -1261,7 +1260,7 @@
   1.105    // as a shim for the insertion of the new code.
   1.106    JVMState* jvms     = sc->begin()->jvms()->clone_shallow(C);
   1.107    uint size = sc->begin()->req();
   1.108 -  SafePointNode* map = new (C, size) SafePointNode(size, jvms);
   1.109 +  SafePointNode* map = new (C) SafePointNode(size, jvms);
   1.110  
   1.111    // copy the control and memory state from the final call into our
   1.112    // new starting state.  This allows any preceeding tests to feed
   1.113 @@ -1306,12 +1305,12 @@
   1.114  
   1.115    // Create a region for the overflow checks to merge into.
   1.116    int args = MAX2(sc->num_arguments(), 1);
   1.117 -  RegionNode* overflow = new (C, args) RegionNode(args);
   1.118 +  RegionNode* overflow = new (C) RegionNode(args);
   1.119    kit.gvn().set_type(overflow, Type::CONTROL);
   1.120  
   1.121    // Create a hook node to hold onto the individual sizes since they
   1.122    // are need for the copying phase.
   1.123 -  Node* string_sizes = new (C, args) Node(args);
   1.124 +  Node* string_sizes = new (C) Node(args);
   1.125  
   1.126    Node* length = __ intcon(0);
   1.127    for (int argi = 0; argi < sc->num_arguments(); argi++) {
   1.128 @@ -1355,9 +1354,9 @@
   1.129          } else if (!type->higher_equal(TypeInstPtr::NOTNULL)) {
   1.130            // s = s != null ? s : "null";
   1.131            // length = length + (s.count - s.offset);
   1.132 -          RegionNode *r = new (C, 3) RegionNode(3);
   1.133 +          RegionNode *r = new (C) RegionNode(3);
   1.134            kit.gvn().set_type(r, Type::CONTROL);
   1.135 -          Node *phi = new (C, 3) PhiNode(r, type);
   1.136 +          Node *phi = new (C) PhiNode(r, type);
   1.137            kit.gvn().set_type(phi, phi->bottom_type());
   1.138            Node* p = __ Bool(__ CmpP(arg, kit.null()), BoolTest::ne);
   1.139            IfNode* iff = kit.create_and_map_if(kit.control(), p, PROB_MIN, COUNT_UNKNOWN);

mercurial