< prev index next >

src/hotspot/share/opto/c2compiler.cpp

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

*** 21,18 ***
--- 21,20 ---
   * questions.
   *
   */
  
  #include "classfile/vmClasses.hpp"
+ #include "classfile/vmIntrinsics.hpp"
  #include "compiler/compilationMemoryStatistic.hpp"
  #include "compiler/compilerDefinitions.inline.hpp"
  #include "jfr/support/jfrIntrinsics.hpp"
  #include "opto/c2compiler.hpp"
  #include "opto/compile.hpp"
  #include "opto/optoreg.hpp"
  #include "opto/output.hpp"
  #include "opto/runtime.hpp"
+ #include "runtime/arguments.hpp"
  #include "runtime/globals_extension.hpp"
  #include "runtime/handles.inline.hpp"
  #include "runtime/stubRoutines.hpp"
  #include "utilities/macros.hpp"
  

*** 127,11 ***
  
    bool subsume_loads = SubsumeLoads;
    bool do_escape_analysis = DoEscapeAnalysis;
    bool do_iterative_escape_analysis = DoEscapeAnalysis;
    bool do_reduce_allocation_merges = ReduceAllocationMerges && EliminateAllocations;
!   bool eliminate_boxing = EliminateAutoBox;
    bool do_locks_coarsening = EliminateLocks;
    bool do_superword = UseSuperWord;
  
    while (!env->failing()) {
      ResourceMark rm;
--- 129,12 ---
  
    bool subsume_loads = SubsumeLoads;
    bool do_escape_analysis = DoEscapeAnalysis;
    bool do_iterative_escape_analysis = DoEscapeAnalysis;
    bool do_reduce_allocation_merges = ReduceAllocationMerges && EliminateAllocations;
!   // TODO 8328675 Re-enable
+   bool eliminate_boxing = EliminateAutoBox && !Arguments::is_valhalla_enabled();
    bool do_locks_coarsening = EliminateLocks;
    bool do_superword = UseSuperWord;
  
    while (!env->failing()) {
      ResourceMark rm;

*** 665,19 ***
--- 668,21 ---
    case vmIntrinsics::_getChar:
    case vmIntrinsics::_getInt:
    case vmIntrinsics::_getLong:
    case vmIntrinsics::_getFloat:
    case vmIntrinsics::_getDouble:
+   case vmIntrinsics::_getFlatValue:
    case vmIntrinsics::_putReference:
    case vmIntrinsics::_putBoolean:
    case vmIntrinsics::_putByte:
    case vmIntrinsics::_putShort:
    case vmIntrinsics::_putChar:
    case vmIntrinsics::_putInt:
    case vmIntrinsics::_putLong:
    case vmIntrinsics::_putFloat:
    case vmIntrinsics::_putDouble:
+   case vmIntrinsics::_putFlatValue:
    case vmIntrinsics::_getReferenceVolatile:
    case vmIntrinsics::_getBooleanVolatile:
    case vmIntrinsics::_getByteVolatile:
    case vmIntrinsics::_getShortVolatile:
    case vmIntrinsics::_getCharVolatile:

*** 740,10 ***
--- 745,14 ---
    case vmIntrinsics::_putLongUnaligned:
    case vmIntrinsics::_loadFence:
    case vmIntrinsics::_storeFence:
    case vmIntrinsics::_storeStoreFence:
    case vmIntrinsics::_fullFence:
+   case vmIntrinsics::_arrayInstanceBaseOffset:
+   case vmIntrinsics::_arrayInstanceIndexScale:
+   case vmIntrinsics::_arrayLayout:
+   case vmIntrinsics::_getFieldMap:
    case vmIntrinsics::_currentCarrierThread:
    case vmIntrinsics::_currentThread:
    case vmIntrinsics::_setCurrentThread:
    case vmIntrinsics::_scopedValueCache:
    case vmIntrinsics::_setScopedValueCache:

*** 757,10 ***
--- 766,16 ---
    case vmIntrinsics::_currentTimeMillis:
    case vmIntrinsics::_nanoTime:
    case vmIntrinsics::_allocateInstance:
    case vmIntrinsics::_allocateUninitializedArray:
    case vmIntrinsics::_newArray:
+   case vmIntrinsics::_newNullRestrictedNonAtomicArray:
+   case vmIntrinsics::_newNullRestrictedAtomicArray:
+   case vmIntrinsics::_newNullableAtomicArray:
+   case vmIntrinsics::_isFlatArray:
+   case vmIntrinsics::_isNullRestrictedArray:
+   case vmIntrinsics::_isAtomicArray:
    case vmIntrinsics::_getLength:
    case vmIntrinsics::_copyOf:
    case vmIntrinsics::_copyOfRange:
    case vmIntrinsics::_clone:
    case vmIntrinsics::_isAssignableFrom:
< prev index next >