< prev index next >

src/hotspot/share/c1/c1_ValueMap.hpp

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 1999, 2019, 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.
--- 1,7 ---
  /*
!  * Copyright (c) 1999, 2021, 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.

*** 146,10 ***
--- 146,13 ---
          // but possible future optimizations might require this.
          x->field()->is_volatile()) {
        kill_memory();
      } else {
        kill_field(x->field(), x->needs_patching());
+       if (x->enclosing_field() != NULL) {
+         kill_field(x->enclosing_field(), true);
+       }
      }
    }
    void do_StoreIndexed   (StoreIndexed*    x) { kill_array(x->type()); }
    void do_MonitorEnter   (MonitorEnter*    x) { kill_memory(); }
    void do_MonitorExit    (MonitorExit*     x) { kill_memory(); }

*** 182,13 ***
--- 185,15 ---
    void do_IfOp           (IfOp*            x) { /* nothing to do */ }
    void do_Convert        (Convert*         x) { /* nothing to do */ }
    void do_NullCheck      (NullCheck*       x) { /* nothing to do */ }
    void do_TypeCast       (TypeCast*        x) { /* nothing to do */ }
    void do_NewInstance    (NewInstance*     x) { /* nothing to do */ }
+   void do_NewInlineTypeInstance(NewInlineTypeInstance* x) { /* nothing to do */ }
    void do_NewTypeArray   (NewTypeArray*    x) { /* nothing to do */ }
    void do_NewObjectArray (NewObjectArray*  x) { /* nothing to do */ }
    void do_NewMultiArray  (NewMultiArray*   x) { /* nothing to do */ }
+   void do_Deoptimize     (Deoptimize*      x) { /* nothing to do */ }
    void do_CheckCast      (CheckCast*       x) { /* nothing to do */ }
    void do_InstanceOf     (InstanceOf*      x) { /* nothing to do */ }
    void do_BlockBegin     (BlockBegin*      x) { /* nothing to do */ }
    void do_Goto           (Goto*            x) { /* nothing to do */ }
    void do_If             (If*              x) { /* nothing to do */ }

*** 200,10 ***
--- 205,11 ---
    void do_OsrEntry       (OsrEntry*        x) { /* nothing to do */ }
    void do_ExceptionObject(ExceptionObject* x) { /* nothing to do */ }
    void do_RoundFP        (RoundFP*         x) { /* nothing to do */ }
    void do_ProfileCall    (ProfileCall*     x) { /* nothing to do */ }
    void do_ProfileReturnType (ProfileReturnType*  x) { /* nothing to do */ }
+   void do_ProfileACmpTypes(ProfileACmpTypes*  x) { /* nothing to do */ }
    void do_ProfileInvoke  (ProfileInvoke*   x) { /* nothing to do */ };
    void do_RuntimeCall    (RuntimeCall*     x) { /* nothing to do */ };
    void do_MemBar         (MemBar*          x) { /* nothing to do */ };
    void do_RangeCheckPredicate(RangeCheckPredicate* x) { /* nothing to do */ };
  #ifdef ASSERT
< prev index next >