hotspot/src/share/vm/c1/c1_Optimizer.cpp
changeset 6453 970dc585ab63
parent 5707 6c66849ed24e
child 6745 a34ef8968a84
equal deleted inserted replaced
6452:cc624b341ab2 6453:970dc585ab63
     1 /*
     1 /*
     2  * Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1999, 2010, 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.
   428   void do_UnsafeGetObject(UnsafeGetObject* x);
   428   void do_UnsafeGetObject(UnsafeGetObject* x);
   429   void do_UnsafePutObject(UnsafePutObject* x);
   429   void do_UnsafePutObject(UnsafePutObject* x);
   430   void do_UnsafePrefetchRead (UnsafePrefetchRead*  x);
   430   void do_UnsafePrefetchRead (UnsafePrefetchRead*  x);
   431   void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x);
   431   void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x);
   432   void do_ProfileCall    (ProfileCall*     x);
   432   void do_ProfileCall    (ProfileCall*     x);
   433   void do_ProfileCounter (ProfileCounter*  x);
   433   void do_ProfileInvoke  (ProfileInvoke*   x);
   434 };
   434 };
   435 
   435 
   436 
   436 
   437 // Because of a static contained within (for the purpose of iteration
   437 // Because of a static contained within (for the purpose of iteration
   438 // over instructions), it is only valid to have one of these active at
   438 // over instructions), it is only valid to have one of these active at
   596 void NullCheckVisitor::do_UnsafeGetObject(UnsafeGetObject* x) {}
   596 void NullCheckVisitor::do_UnsafeGetObject(UnsafeGetObject* x) {}
   597 void NullCheckVisitor::do_UnsafePutObject(UnsafePutObject* x) {}
   597 void NullCheckVisitor::do_UnsafePutObject(UnsafePutObject* x) {}
   598 void NullCheckVisitor::do_UnsafePrefetchRead (UnsafePrefetchRead*  x) {}
   598 void NullCheckVisitor::do_UnsafePrefetchRead (UnsafePrefetchRead*  x) {}
   599 void NullCheckVisitor::do_UnsafePrefetchWrite(UnsafePrefetchWrite* x) {}
   599 void NullCheckVisitor::do_UnsafePrefetchWrite(UnsafePrefetchWrite* x) {}
   600 void NullCheckVisitor::do_ProfileCall    (ProfileCall*     x) { nce()->clear_last_explicit_null_check(); }
   600 void NullCheckVisitor::do_ProfileCall    (ProfileCall*     x) { nce()->clear_last_explicit_null_check(); }
   601 void NullCheckVisitor::do_ProfileCounter (ProfileCounter*  x) {}
   601 void NullCheckVisitor::do_ProfileInvoke  (ProfileInvoke*   x) {}
   602 
   602 
   603 
   603 
   604 void NullCheckEliminator::visit(Value* p) {
   604 void NullCheckEliminator::visit(Value* p) {
   605   assert(*p != NULL, "should not find NULL instructions");
   605   assert(*p != NULL, "should not find NULL instructions");
   606   if (visitable(*p)) {
   606   if (visitable(*p)) {