hotspot/src/share/vm/includeDB_compiler1
author roland
Tue, 29 Dec 2009 19:08:54 +0100
changeset 6745 a34ef8968a84
parent 6453 970dc585ab63
child 6975 dc9b63952682
permissions -rw-r--r--
6986046: C1 valuestack cleanup Summary: fixes an historical oddity in C1 with inlining where all of the expression stacks are kept in the topmost ValueStack instead of being in their respective ValueStacks. Reviewed-by: never Contributed-by: Christian Wimmer <cwimmer@uci.edu>

//
// Copyright (c) 1999, 2010, 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.
//
// This code is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// version 2 for more details (a copy is included in the LICENSE file that
// accompanied this code).
//
// You should have received a copy of the GNU General Public License version
// 2 along with this work; if not, write to the Free Software Foundation,
// Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
//
// Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
// or visit www.oracle.com if you need additional information or have any
// questions.
//

// NOTE: DO NOT CHANGE THIS COPYRIGHT TO NEW STYLE - IT WILL BREAK makeDeps!

allocation.hpp                          c1_globals.hpp

c1_CFGPrinter.cpp                       c1_CFGPrinter.hpp
c1_CFGPrinter.cpp                       c1_IR.hpp
c1_CFGPrinter.cpp                       c1_InstructionPrinter.hpp
c1_CFGPrinter.cpp                       c1_LIR.hpp
c1_CFGPrinter.cpp                       c1_LinearScan.hpp
c1_CFGPrinter.cpp                       c1_ValueStack.hpp

c1_CFGPrinter.hpp                       c1_Compilation.hpp
c1_CFGPrinter.hpp                       c1_Instruction.hpp

cardTableModRefBS.cpp			c1_LIR.hpp
cardTableModRefBS.cpp			c1_LIRGenerator.hpp

c1_Canonicalizer.cpp                    c1_Canonicalizer.hpp
c1_Canonicalizer.cpp                    c1_InstructionPrinter.hpp
c1_Canonicalizer.cpp                    ciArray.hpp
c1_Canonicalizer.cpp                    sharedRuntime.hpp

c1_Canonicalizer.hpp                    c1_Instruction.hpp

c1_CodeStubs.hpp                        array.hpp
c1_CodeStubs.hpp                        c1_FrameMap.hpp
c1_CodeStubs.hpp                        c1_IR.hpp
c1_CodeStubs.hpp                        c1_Instruction.hpp
c1_CodeStubs.hpp                        c1_LIR.hpp
c1_CodeStubs.hpp                        c1_Runtime1.hpp

c1_CodeStubs_<arch>.cpp                 c1_CodeStubs.hpp
c1_CodeStubs_<arch>.cpp                 c1_FrameMap.hpp
c1_CodeStubs_<arch>.cpp                 c1_LIRAssembler.hpp
c1_CodeStubs_<arch>.cpp                 c1_MacroAssembler.hpp
c1_CodeStubs_<arch>.cpp                 c1_Runtime1.hpp
c1_CodeStubs_<arch>.cpp                 g1SATBCardTableModRefBS.hpp
c1_CodeStubs_<arch>.cpp                 nativeInst_<arch>.hpp
c1_CodeStubs_<arch>.cpp                 sharedRuntime.hpp
c1_CodeStubs_<arch>.cpp                 vmreg_<arch>.inline.hpp

c1_Compilation.cpp                      c1_CFGPrinter.hpp
c1_Compilation.cpp                      c1_Compilation.hpp
c1_Compilation.cpp                      c1_IR.hpp
c1_Compilation.cpp                      c1_LIRAssembler.hpp
c1_Compilation.cpp                      c1_LinearScan.hpp
c1_Compilation.cpp                      c1_MacroAssembler.hpp
c1_Compilation.cpp                      c1_ValueMap.hpp
c1_Compilation.cpp                      c1_ValueStack.hpp
c1_Compilation.cpp                      debugInfoRec.hpp
c1_Compilation.hpp                      ciEnv.hpp
c1_Compilation.hpp                      exceptionHandlerTable.hpp
c1_Compilation.hpp                      resourceArea.hpp

c1_Compiler.cpp                         allocation.hpp
c1_Compiler.cpp                         allocation.inline.hpp
c1_Compiler.cpp                         arguments.hpp
c1_Compiler.cpp                         c1_Compilation.hpp
c1_Compiler.cpp                         c1_Compiler.hpp
c1_Compiler.cpp                         c1_FrameMap.hpp
c1_Compiler.cpp                         c1_GraphBuilder.hpp
c1_Compiler.cpp                         c1_LinearScan.hpp
c1_Compiler.cpp                         c1_MacroAssembler.hpp
c1_Compiler.cpp                         c1_Runtime1.hpp
c1_Compiler.cpp                         c1_ValueType.hpp
c1_Compiler.cpp                         compileBroker.hpp
c1_Compiler.cpp                         compilerOracle.hpp
c1_Compiler.cpp                         interfaceSupport.hpp
c1_Compiler.cpp                         linkResolver.hpp
c1_Compiler.cpp                         nativeLookup.hpp
c1_Compiler.cpp                         resourceArea.hpp
c1_Compiler.cpp                         sharedRuntime.hpp

c1_Compiler.hpp                         abstractCompiler.hpp

c1_Defs.cpp                             c1_Defs.hpp

c1_Defs.hpp                             globalDefinitions.hpp
c1_Defs.hpp                             register_<arch>.hpp

c1_Defs_<arch>.hpp                      generate_platform_dependent_include

c1_FpuStackSim.hpp                      allocation.hpp
c1_FpuStackSim.hpp                      c1_FrameMap.hpp

c1_FpuStackSim_<arch>.cpp               array.hpp
c1_FpuStackSim_<arch>.cpp               c1_FpuStackSim.hpp
c1_FpuStackSim_<arch>.cpp               c1_FrameMap.hpp
c1_FpuStackSim_<arch>.cpp               ostream.hpp

c1_FpuStackSim_<arch>.hpp               generate_platform_dependent_include

c1_FrameMap.cpp                         c1_FrameMap.hpp
c1_FrameMap.cpp                         c1_LIR.hpp
c1_FrameMap.cpp                         sharedRuntime.hpp
c1_FrameMap.cpp                         vmreg_<arch>.inline.hpp

c1_FrameMap.hpp                         allocation.hpp
c1_FrameMap.hpp                         assembler.hpp
c1_FrameMap.hpp                         c1_Defs.hpp
c1_FrameMap.hpp                         c1_LIR.hpp
c1_FrameMap.hpp                         frame.hpp
c1_FrameMap.hpp                         globalDefinitions.hpp
c1_FrameMap.hpp                         synchronizer.hpp
c1_FrameMap.hpp                         vmreg.hpp

c1_FrameMap_<arch>.cpp                  c1_FrameMap.hpp
c1_FrameMap_<arch>.cpp                  c1_LIR.hpp
c1_FrameMap_<arch>.cpp                  sharedRuntime.hpp
c1_FrameMap_<arch>.cpp                  vmreg_<arch>.inline.hpp

c1_FrameMap_<arch>.hpp                  generate_platform_dependent_include

c1_globals.cpp                          c1_globals.hpp

c1_globals.hpp                          c1_globals_<arch>.hpp
c1_globals.hpp                          c1_globals_<os_family>.hpp
c1_globals.hpp                          globals.hpp

c1_globals_<arch>.hpp                   globalDefinitions.hpp
c1_globals_<arch>.hpp                   macros.hpp

c1_globals_<os_family>.hpp              globalDefinitions.hpp
c1_globals_<os_family>.hpp              macros.hpp

c1_GraphBuilder.cpp                     bitMap.inline.hpp
c1_GraphBuilder.cpp                     bytecode.hpp
c1_GraphBuilder.cpp                     c1_CFGPrinter.hpp
c1_GraphBuilder.cpp                     c1_Canonicalizer.hpp
c1_GraphBuilder.cpp                     c1_Compilation.hpp
c1_GraphBuilder.cpp                     c1_GraphBuilder.hpp
c1_GraphBuilder.cpp                     c1_InstructionPrinter.hpp
c1_GraphBuilder.cpp                     ciField.hpp
c1_GraphBuilder.cpp                     ciKlass.hpp
c1_GraphBuilder.cpp                     sharedRuntime.hpp

c1_GraphBuilder.hpp                     c1_IR.hpp
c1_GraphBuilder.hpp                     c1_Instruction.hpp
c1_GraphBuilder.hpp                     c1_ValueMap.hpp
c1_GraphBuilder.hpp                     c1_ValueStack.hpp
c1_GraphBuilder.hpp                     ciMethodData.hpp
c1_GraphBuilder.hpp                     ciStreams.hpp

c1_IR.cpp                               bitMap.inline.hpp
c1_IR.cpp                               c1_Compilation.hpp
c1_IR.cpp                               c1_FrameMap.hpp
c1_IR.cpp                               c1_GraphBuilder.hpp
c1_IR.cpp                               c1_IR.hpp
c1_IR.cpp                               c1_InstructionPrinter.hpp
c1_IR.cpp                               c1_Optimizer.hpp

c1_IR.hpp                               allocation.hpp
c1_IR.hpp                               c1_Instruction.hpp
c1_IR.hpp                               ciExceptionHandler.hpp
c1_IR.hpp                               ciMethod.hpp
c1_IR.hpp                               ciStreams.hpp

c1_Instruction.cpp                      c1_IR.hpp
c1_Instruction.cpp                      c1_Instruction.hpp
c1_Instruction.cpp                      c1_InstructionPrinter.hpp
c1_Instruction.cpp                      c1_ValueStack.hpp
c1_Instruction.cpp                      ciObjArrayKlass.hpp
c1_Instruction.cpp                      ciTypeArrayKlass.hpp

c1_Instruction.hpp                      c1_Compilation.hpp
c1_Instruction.hpp                      c1_LIR.hpp
c1_Instruction.hpp                      c1_ValueType.hpp
c1_Instruction.hpp                      ciField.hpp

c1_InstructionPrinter.cpp               c1_InstructionPrinter.hpp
c1_InstructionPrinter.cpp               c1_ValueStack.hpp
c1_InstructionPrinter.cpp               ciArray.hpp
c1_InstructionPrinter.cpp               ciInstance.hpp
c1_InstructionPrinter.cpp               ciObject.hpp

c1_InstructionPrinter.hpp               c1_IR.hpp
c1_InstructionPrinter.hpp               c1_Instruction.hpp
c1_InstructionPrinter.hpp               c1_Runtime1.hpp

c1_LIR.cpp                              c1_InstructionPrinter.hpp
c1_LIR.cpp                              c1_LIR.hpp
c1_LIR.cpp                              c1_LIRAssembler.hpp
c1_LIR.cpp                              ciInstance.hpp
c1_LIR.cpp                              sharedRuntime.hpp

c1_LIR.hpp                              c1_ValueType.hpp

c1_LIRAssembler.cpp                     c1_Compilation.hpp
c1_LIRAssembler.cpp                     c1_Instruction.hpp
c1_LIRAssembler.cpp                     c1_InstructionPrinter.hpp
c1_LIRAssembler.cpp                     c1_LIRAssembler.hpp
c1_LIRAssembler.cpp                     c1_MacroAssembler.hpp
c1_LIRAssembler.cpp                     c1_ValueStack.hpp
c1_LIRAssembler.cpp                     ciInstance.hpp
c1_LIRAssembler.cpp                     nativeInst_<arch>.hpp
c1_LIRAssembler.cpp                     vmreg_<arch>.inline.hpp

c1_LIRAssembler.hpp                     c1_CodeStubs.hpp
c1_LIRAssembler.hpp                     ciMethodData.hpp
c1_LIRAssembler.hpp                     methodDataOop.hpp
c1_LIRAssembler.hpp                     top.hpp

c1_LIRAssembler_<arch>.cpp              barrierSet.hpp
c1_LIRAssembler_<arch>.cpp              c1_Compilation.hpp
c1_LIRAssembler_<arch>.cpp              c1_LIRAssembler.hpp
c1_LIRAssembler_<arch>.cpp              c1_MacroAssembler.hpp
c1_LIRAssembler_<arch>.cpp              c1_Runtime1.hpp
c1_LIRAssembler_<arch>.cpp              c1_ValueStack.hpp
c1_LIRAssembler_<arch>.cpp              cardTableModRefBS.hpp
c1_LIRAssembler_<arch>.cpp              ciArrayKlass.hpp
c1_LIRAssembler_<arch>.cpp              ciInstance.hpp
c1_LIRAssembler_<arch>.cpp              collectedHeap.hpp
c1_LIRAssembler_<arch>.cpp              nativeInst_<arch>.hpp
c1_LIRAssembler_<arch>.cpp              objArrayKlass.hpp
c1_LIRAssembler_<arch>.cpp              sharedRuntime.hpp

c1_LIRAssembler_<arch>.hpp              generate_platform_dependent_include

c1_LIRGenerator.cpp                     bitMap.inline.hpp
c1_LIRGenerator.cpp                     c1_Compilation.hpp
c1_LIRGenerator.cpp                     c1_FrameMap.hpp
c1_LIRGenerator.cpp                     c1_Instruction.hpp
c1_LIRGenerator.cpp                     c1_LIRAssembler.hpp
c1_LIRGenerator.cpp                     c1_LIRGenerator.hpp
c1_LIRGenerator.cpp                     c1_ValueStack.hpp
c1_LIRGenerator.cpp                     ciArrayKlass.hpp
c1_LIRGenerator.cpp                     ciCPCache.hpp
c1_LIRGenerator.cpp                     ciInstance.hpp
c1_LIRGenerator.cpp                     heapRegion.hpp
c1_LIRGenerator.cpp                     sharedRuntime.hpp
c1_LIRGenerator.cpp                     stubRoutines.hpp

c1_LIRGenerator.hpp                     c1_Instruction.hpp
c1_LIRGenerator.hpp                     c1_LIR.hpp
c1_LIRGenerator.hpp                     ciMethodData.hpp
c1_LIRGenerator.hpp                     sizes.hpp

c1_LIRGenerator_<arch>.cpp             c1_Compilation.hpp
c1_LIRGenerator_<arch>.cpp             c1_FrameMap.hpp
c1_LIRGenerator_<arch>.cpp             c1_Instruction.hpp
c1_LIRGenerator_<arch>.cpp             c1_LIRAssembler.hpp
c1_LIRGenerator_<arch>.cpp             c1_LIRGenerator.hpp
c1_LIRGenerator_<arch>.cpp             c1_Runtime1.hpp
c1_LIRGenerator_<arch>.cpp             c1_ValueStack.hpp
c1_LIRGenerator_<arch>.cpp             ciArray.hpp
c1_LIRGenerator_<arch>.cpp             ciObjArrayKlass.hpp
c1_LIRGenerator_<arch>.cpp             ciTypeArrayKlass.hpp
c1_LIRGenerator_<arch>.cpp             sharedRuntime.hpp
c1_LIRGenerator_<arch>.cpp             vmreg_<arch>.inline.hpp
c1_LIRGenerator_<arch>.cpp             stubRoutines.hpp


c1_LinearScan.cpp                       bitMap.inline.hpp
c1_LinearScan.cpp                       c1_CFGPrinter.hpp
c1_LinearScan.cpp                       c1_CodeStubs.hpp
c1_LinearScan.cpp                       c1_Compilation.hpp
c1_LinearScan.cpp                       c1_FrameMap.hpp
c1_LinearScan.cpp                       c1_IR.hpp
c1_LinearScan.cpp                       c1_LIRGenerator.hpp
c1_LinearScan.cpp                       c1_LinearScan.hpp
c1_LinearScan.cpp                       c1_ValueStack.hpp
c1_LinearScan.cpp                       vmreg_<arch>.inline.hpp

c1_LinearScan.hpp                       c1_FpuStackSim.hpp
c1_LinearScan.hpp                       c1_FrameMap.hpp
c1_LinearScan.hpp                       c1_IR.hpp
c1_LinearScan.hpp                       c1_Instruction.hpp
c1_LinearScan.hpp                       c1_LIR.hpp
c1_LinearScan.hpp                       c1_LIRGenerator.hpp

c1_LinearScan_<arch>.cpp                bitMap.inline.hpp
c1_LinearScan_<arch>.cpp                c1_Instruction.hpp
c1_LinearScan_<arch>.cpp                c1_LinearScan.hpp

c1_LinearScan_<arch>.hpp                generate_platform_dependent_include

c1_MacroAssembler.hpp                   assembler.hpp
c1_MacroAssembler.hpp                   assembler_<arch>.inline.hpp

c1_MacroAssembler_<arch>.cpp            arrayOop.hpp
c1_MacroAssembler_<arch>.cpp            biasedLocking.hpp
c1_MacroAssembler_<arch>.cpp            c1_MacroAssembler.hpp
c1_MacroAssembler_<arch>.cpp            c1_Runtime1.hpp
c1_MacroAssembler_<arch>.cpp            collectedHeap.hpp
c1_MacroAssembler_<arch>.cpp            interpreter.hpp
c1_MacroAssembler_<arch>.cpp            markOop.hpp
c1_MacroAssembler_<arch>.cpp            os.hpp
c1_MacroAssembler_<arch>.cpp            stubRoutines.hpp
c1_MacroAssembler_<arch>.cpp            synchronizer.hpp
c1_MacroAssembler_<arch>.cpp            systemDictionary.hpp

c1_MacroAssembler_<arch>.hpp            generate_platform_dependent_include

c1_Optimizer.cpp                        bitMap.inline.hpp
c1_Optimizer.cpp                        c1_Canonicalizer.hpp
c1_Optimizer.cpp                        c1_Optimizer.hpp
c1_Optimizer.cpp                        c1_ValueMap.hpp
c1_Optimizer.cpp                        c1_ValueSet.hpp
c1_Optimizer.cpp                        c1_ValueStack.hpp

c1_Optimizer.hpp                        allocation.hpp
c1_Optimizer.hpp                        c1_IR.hpp
c1_Optimizer.hpp                        c1_Instruction.hpp

c1_Runtime1.cpp                         allocation.inline.hpp
c1_Runtime1.cpp                         barrierSet.hpp
c1_Runtime1.cpp                         biasedLocking.hpp
c1_Runtime1.cpp                         bytecode.hpp
c1_Runtime1.cpp                         c1_CodeStubs.hpp
c1_Runtime1.cpp                         c1_Defs.hpp
c1_Runtime1.cpp                         c1_FrameMap.hpp
c1_Runtime1.cpp                         c1_LIRAssembler.hpp
c1_Runtime1.cpp                         c1_MacroAssembler.hpp
c1_Runtime1.cpp                         c1_Runtime1.hpp
c1_Runtime1.cpp                         codeBlob.hpp
c1_Runtime1.cpp                         codeBuffer.hpp
c1_Runtime1.cpp                         collectedHeap.hpp
c1_Runtime1.cpp                         compilationPolicy.hpp
c1_Runtime1.cpp                         compiledIC.hpp
c1_Runtime1.cpp                         copy.hpp
c1_Runtime1.cpp                         disassembler.hpp
c1_Runtime1.cpp                         events.hpp
c1_Runtime1.cpp                         interfaceSupport.hpp
c1_Runtime1.cpp                         interpreter.hpp
c1_Runtime1.cpp                         javaCalls.hpp
c1_Runtime1.cpp                         objArrayKlass.hpp
c1_Runtime1.cpp                         oop.inline.hpp
c1_Runtime1.cpp                         oopFactory.hpp
c1_Runtime1.cpp                         pcDesc.hpp
c1_Runtime1.cpp                         resourceArea.hpp
c1_Runtime1.cpp                         scopeDesc.hpp
c1_Runtime1.cpp                         sharedRuntime.hpp
c1_Runtime1.cpp                         systemDictionary.hpp
c1_Runtime1.cpp                         threadCritical.hpp
c1_Runtime1.cpp                         vframe.hpp
c1_Runtime1.cpp                         vframeArray.hpp
c1_Runtime1.cpp                         vmSymbols.hpp
c1_Runtime1.cpp                         vtableStubs.hpp

c1_Runtime1.hpp                         allocation.hpp
c1_Runtime1.hpp                         c1_FrameMap.hpp
c1_Runtime1.hpp                         deoptimization.hpp
c1_Runtime1.hpp                         interpreter.hpp
c1_Runtime1.hpp                         stubs.hpp

c1_Runtime1_<arch>.cpp                  c1_Defs.hpp
c1_Runtime1_<arch>.cpp                  c1_MacroAssembler.hpp
c1_Runtime1_<arch>.cpp                  c1_Runtime1.hpp
c1_Runtime1_<arch>.cpp                  compiledICHolderOop.hpp
c1_Runtime1_<arch>.cpp                  interpreter.hpp
c1_Runtime1_<arch>.cpp                  jvmtiExport.hpp
c1_Runtime1_<arch>.cpp                  nativeInst_<arch>.hpp
c1_Runtime1_<arch>.cpp                  oop.inline.hpp
c1_Runtime1_<arch>.cpp                  register_<arch>.hpp
c1_Runtime1_<arch>.cpp                  sharedRuntime.hpp
c1_Runtime1_<arch>.cpp                  signature.hpp
c1_Runtime1_<arch>.cpp                  vframeArray.hpp
c1_Runtime1_<arch>.cpp                  vmreg_<arch>.inline.hpp

c1_ValueMap.cpp                         bitMap.inline.hpp
c1_ValueMap.cpp                         c1_Canonicalizer.hpp
c1_ValueMap.cpp                         c1_IR.hpp
c1_ValueMap.cpp                         c1_ValueMap.hpp

c1_ValueMap.hpp                         allocation.hpp
c1_ValueMap.hpp                         c1_Instruction.hpp
c1_ValueMap.hpp                         c1_ValueSet.hpp

c1_ValueSet.cpp                         c1_ValueSet.hpp

c1_ValueSet.hpp                         allocation.hpp
c1_ValueSet.hpp                         bitMap.inline.hpp
c1_ValueSet.hpp                         c1_Instruction.hpp

c1_ValueStack.cpp                       c1_IR.hpp
c1_ValueStack.cpp                       c1_InstructionPrinter.hpp
c1_ValueStack.cpp                       c1_ValueStack.hpp

c1_ValueStack.hpp                       c1_Instruction.hpp
c1_ValueType.cpp                        c1_ValueType.hpp
c1_ValueType.cpp                        ciArray.hpp
c1_ValueType.cpp                        ciInstance.hpp
c1_ValueType.cpp                        ciNullObject.hpp

c1_ValueType.hpp                        c1_Compilation.hpp
c1_ValueType.hpp                        ciConstant.hpp

ciEnv.cpp                               c1_Runtime1.hpp

codeBlob.cpp                            c1_Runtime1.hpp

compileBroker.cpp                       c1_Compiler.hpp

frame_<arch>.cpp                        c1_Runtime1.hpp
frame_<arch>.cpp                        vframeArray.hpp

globals.cpp                             c1_globals.hpp

globals.hpp                             c1_globals_<arch>.hpp
globals.hpp                             c1_globals_<os_family>.hpp

instanceKlass.cpp                       c1_Compiler.hpp

interpreter_<arch_model>.cpp            c1_Runtime1.hpp

java.cpp                                c1_Compiler.hpp
java.cpp                                c1_Runtime1.hpp

nativeInst_<arch>.cpp                   c1_Runtime1.hpp

oopMap.cpp                              c1_Defs.hpp

os_<os_family>.cpp                      c1_Runtime1.hpp

os_<os_arch>.cpp                        c1_Runtime1.hpp

safepoint.cpp                           c1_globals.hpp

sharedRuntime.cpp                       c1_Runtime1.hpp

sharedRuntime_<arch_model>.cpp          c1_Runtime1.hpp

thread.cpp                              c1_Compiler.hpp

top.hpp                                 c1_globals.hpp

vmStructs.hpp                           c1_Runtime1.hpp

c1_Canonicalizer.cpp                    c1_ValueStack.hpp

c1_LIR.cpp                              c1_ValueStack.hpp