< prev index next >

src/share/vm/opto/escape.cpp

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2017, 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
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -510,15 +510,15 @@
       const Type *adr_type = igvn->type(adr);
       adr_type = adr_type->make_ptr();
       if (adr_type == NULL) {
         break; // skip dead nodes
       }
-      if (adr_type->isa_oopptr() ||
-          (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass) &&
-                        (adr_type == TypeRawPtr::NOTNULL &&
-                         adr->in(AddPNode::Address)->is_Proj() &&
-                         adr->in(AddPNode::Address)->in(0)->is_Allocate())) {
+      if (   adr_type->isa_oopptr()
+          || (   (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass)
+              && adr_type == TypeRawPtr::NOTNULL
+              && adr->in(AddPNode::Address)->is_Proj()
+              && adr->in(AddPNode::Address)->in(0)->is_Allocate())) {
         delayed_worklist->push(n); // Process it later.
 #ifdef ASSERT
         assert(adr->is_AddP(), "expecting an AddP");
         if (adr_type == TypeRawPtr::NOTNULL) {
           // Verify a raw address for a store captured by Initialize node.

@@ -723,15 +723,15 @@
 #endif
       if (opcode == Op_GetAndSetP || opcode == Op_GetAndSetN ||
           opcode == Op_CompareAndExchangeN || opcode == Op_CompareAndExchangeP) {
         add_local_var_and_edge(n, PointsToNode::NoEscape, adr, NULL);
       }
-      if (adr_type->isa_oopptr() ||
-          (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass) &&
-                        (adr_type == TypeRawPtr::NOTNULL &&
-                         adr->in(AddPNode::Address)->is_Proj() &&
-                         adr->in(AddPNode::Address)->in(0)->is_Allocate())) {
+      if (   adr_type->isa_oopptr()
+          || (   (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass)
+              && adr_type == TypeRawPtr::NOTNULL
+              && adr->in(AddPNode::Address)->is_Proj()
+              && adr->in(AddPNode::Address)->in(0)->is_Allocate())) {
         // Point Address to Value
         PointsToNode* adr_ptn = ptnode_adr(adr->_idx);
         assert(adr_ptn != NULL &&
                adr_ptn->as_Field()->is_oop(), "node should be registered");
         Node *val = n->in(MemNode::ValueIn);

@@ -1962,12 +1962,12 @@
   // Sets are disjoint.
   bool set1_has_unknown_ptr = ptn1->points_to(phantom_obj);
   bool set2_has_unknown_ptr = ptn2->points_to(phantom_obj);
   bool set1_has_null_ptr    = ptn1->points_to(null_obj);
   bool set2_has_null_ptr    = ptn2->points_to(null_obj);
-  if (set1_has_unknown_ptr && set2_has_null_ptr ||
-      set2_has_unknown_ptr && set1_has_null_ptr) {
+  if ((set1_has_unknown_ptr && set2_has_null_ptr) ||
+      (set2_has_unknown_ptr && set1_has_null_ptr)) {
     // Check nullness of unknown object.
     return NULL;
   }
 
   // Disjointness by itself is not sufficient since

@@ -2622,11 +2622,11 @@
         // Don't move related membars.
         record_for_optimizer(use);
         continue;
       }
       tp = use->as_MemBar()->adr_type()->isa_ptr();
-      if (tp != NULL && C->get_alias_index(tp) == alias_idx ||
+      if ((tp != NULL && C->get_alias_index(tp) == alias_idx) ||
           alias_idx == general_idx) {
         continue; // Nothing to do
       }
       // Move to general memory slice.
       uint orig_uniq = C->unique();
< prev index next >