d7310fb0f7
Shark is a JIT compiler for Zero that uses the LLVM compiler infrastructure. Reviewed-by: kvn, twisti
372 lines
17 KiB
Plaintext
372 lines
17 KiB
Plaintext
//
|
|
// Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
|
|
// Copyright 2008, 2009, 2010 Red Hat, Inc.
|
|
// 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!
|
|
|
|
ciMethod.cpp ciTypeFlow.hpp
|
|
ciMethod.cpp methodOop.hpp
|
|
|
|
ciTypeFlow.cpp allocation.inline.hpp
|
|
ciTypeFlow.cpp bytecode.hpp
|
|
ciTypeFlow.cpp bytecodes.hpp
|
|
ciTypeFlow.cpp ciConstant.hpp
|
|
ciTypeFlow.cpp ciField.hpp
|
|
ciTypeFlow.cpp ciMethod.hpp
|
|
ciTypeFlow.cpp ciMethodData.hpp
|
|
ciTypeFlow.cpp ciObjArrayKlass.hpp
|
|
ciTypeFlow.cpp ciStreams.hpp
|
|
ciTypeFlow.cpp ciTypeArrayKlass.hpp
|
|
ciTypeFlow.cpp ciTypeFlow.hpp
|
|
ciTypeFlow.cpp compileLog.hpp
|
|
ciTypeFlow.cpp deoptimization.hpp
|
|
ciTypeFlow.cpp growableArray.hpp
|
|
ciTypeFlow.cpp shark_globals.hpp
|
|
|
|
ciTypeFlow.hpp ciEnv.hpp
|
|
ciTypeFlow.hpp ciKlass.hpp
|
|
ciTypeFlow.hpp ciMethodBlocks.hpp
|
|
|
|
cppInterpreter_<arch>.cpp shark_globals.hpp
|
|
|
|
compileBroker.cpp sharkCompiler.hpp
|
|
|
|
disassembler.cpp sharkEntry.hpp
|
|
|
|
globals.hpp shark_globals_<arch>.hpp
|
|
|
|
globals.cpp shark_globals.hpp
|
|
|
|
llvmValue.hpp llvmHeaders.hpp
|
|
llvmValue.hpp sharkContext.hpp
|
|
llvmValue.hpp sharkType.hpp
|
|
|
|
nmethod.cpp sharkCompiler.hpp
|
|
|
|
sharedRuntime_<arch>.cpp compileBroker.hpp
|
|
sharedRuntime_<arch>.cpp sharkCompiler.hpp
|
|
|
|
shark_globals.cpp shark_globals.hpp
|
|
|
|
shark_globals.hpp shark_globals_<arch>.hpp
|
|
shark_globals.hpp globals.hpp
|
|
|
|
sharkBlock.cpp debug.hpp
|
|
sharkBlock.cpp bytecodes.hpp
|
|
sharkBlock.cpp llvmHeaders.hpp
|
|
sharkBlock.cpp llvmValue.hpp
|
|
sharkBlock.cpp shark_globals.hpp
|
|
sharkBlock.cpp sharkBlock.hpp
|
|
sharkBlock.cpp sharkBuilder.hpp
|
|
sharkBlock.cpp sharkConstant.hpp
|
|
sharkBlock.cpp sharkState.hpp
|
|
sharkBlock.cpp sharkValue.hpp
|
|
|
|
sharkBlock.hpp allocation.hpp
|
|
sharkBlock.hpp ciMethod.hpp
|
|
sharkBlock.hpp ciStreams.hpp
|
|
sharkBlock.hpp debug.hpp
|
|
sharkBlock.hpp llvmHeaders.hpp
|
|
sharkBlock.hpp sharkBuilder.hpp
|
|
sharkBlock.hpp sharkConstant.hpp
|
|
sharkBlock.hpp sharkInvariants.hpp
|
|
sharkBlock.hpp sharkState.hpp
|
|
sharkBlock.hpp sharkValue.hpp
|
|
|
|
sharkBuilder.cpp ciMethod.hpp
|
|
sharkBuilder.cpp debug.hpp
|
|
sharkBuilder.cpp llvmHeaders.hpp
|
|
sharkBuilder.cpp llvmValue.hpp
|
|
sharkBuilder.cpp methodOop.hpp
|
|
sharkBuilder.cpp os.hpp
|
|
sharkBuilder.cpp resourceArea.hpp
|
|
sharkBuilder.cpp llvmHeaders.hpp
|
|
sharkBuilder.cpp sharkBuilder.hpp
|
|
sharkBuilder.cpp sharkContext.hpp
|
|
sharkBuilder.cpp sharkRuntime.hpp
|
|
sharkBuilder.cpp synchronizer.hpp
|
|
sharkBuilder.cpp thread.hpp
|
|
|
|
sharkBuilder.hpp barrierSet.hpp
|
|
sharkBuilder.hpp cardTableModRefBS.hpp
|
|
sharkBuilder.hpp ciType.hpp
|
|
sharkBuilder.hpp debug.hpp
|
|
sharkBuilder.hpp llvmHeaders.hpp
|
|
sharkBuilder.hpp llvmValue.hpp
|
|
sharkBuilder.hpp sizes.hpp
|
|
sharkBuilder.hpp sharkCodeBuffer.hpp
|
|
sharkBuilder.hpp sharkType.hpp
|
|
sharkBuilder.hpp sharkValue.hpp
|
|
sharkBuilder.hpp sharkEntry.hpp
|
|
|
|
sharkCacheDecache.cpp ciMethod.hpp
|
|
sharkCacheDecache.cpp debugInfoRec.hpp
|
|
sharkCacheDecache.cpp llvmValue.hpp
|
|
sharkCacheDecache.cpp sharkBuilder.hpp
|
|
sharkCacheDecache.cpp sharkCacheDecache.hpp
|
|
sharkCacheDecache.cpp sharkFunction.hpp
|
|
sharkCacheDecache.cpp sharkState.hpp
|
|
|
|
sharkCacheDecache.hpp ciMethod.hpp
|
|
sharkCacheDecache.hpp debugInfoRec.hpp
|
|
sharkCacheDecache.hpp sharkBuilder.hpp
|
|
sharkCacheDecache.hpp sharkFunction.hpp
|
|
sharkCacheDecache.hpp sharkStateScanner.hpp
|
|
|
|
sharkCodeBuffer.hpp allocation.hpp
|
|
sharkCodeBuffer.hpp codeBuffer.hpp
|
|
sharkCodeBuffer.hpp llvmHeaders.hpp
|
|
|
|
sharkCompiler.cpp abstractCompiler.hpp
|
|
sharkCompiler.cpp ciEnv.hpp
|
|
sharkCompiler.cpp ciMethod.hpp
|
|
sharkCompiler.cpp debug.hpp
|
|
sharkCompiler.cpp debugInfoRec.hpp
|
|
sharkCompiler.cpp dependencies.hpp
|
|
sharkCompiler.cpp exceptionHandlerTable.hpp
|
|
sharkCompiler.cpp llvmHeaders.hpp
|
|
sharkCompiler.cpp oopMap.hpp
|
|
sharkCompiler.cpp oopRecorder.hpp
|
|
sharkCompiler.cpp shark_globals.hpp
|
|
sharkCompiler.cpp sharkBuilder.hpp
|
|
sharkCompiler.cpp sharkCodeBuffer.hpp
|
|
sharkCompiler.cpp sharkCompiler.hpp
|
|
sharkCompiler.cpp sharkContext.hpp
|
|
sharkCompiler.cpp sharkEntry.hpp
|
|
sharkCompiler.cpp sharkFunction.hpp
|
|
sharkCompiler.cpp sharkMemoryManager.hpp
|
|
sharkCompiler.cpp sharkNativeWrapper.hpp
|
|
|
|
sharkCompiler.hpp abstractCompiler.hpp
|
|
sharkCompiler.hpp ciEnv.hpp
|
|
sharkCompiler.hpp ciMethod.hpp
|
|
sharkCompiler.hpp compileBroker.hpp
|
|
sharkCompiler.hpp llvmHeaders.hpp
|
|
sharkCompiler.hpp sharkMemoryManager.hpp
|
|
|
|
sharkContext.cpp arrayOop.hpp
|
|
sharkContext.cpp globalDefinitions.hpp
|
|
sharkContext.cpp llvmHeaders.hpp
|
|
sharkContext.cpp oop.hpp
|
|
sharkContext.cpp sharkContext.hpp
|
|
|
|
sharkContext.hpp llvmHeaders.hpp
|
|
sharkContext.hpp sharkCompiler.hpp
|
|
|
|
sharkConstant.cpp ciInstance.hpp
|
|
sharkConstant.cpp ciStreams.hpp
|
|
sharkConstant.cpp sharkBuilder.hpp
|
|
sharkConstant.cpp sharkConstant.hpp
|
|
sharkConstant.cpp sharkValue.hpp
|
|
|
|
sharkConstant.hpp allocation.hpp
|
|
sharkConstant.hpp ciStreams.hpp
|
|
sharkConstant.hpp sharkBuilder.hpp
|
|
sharkConstant.hpp sharkValue.hpp
|
|
|
|
sharkEntry.hpp llvmHeaders.hpp
|
|
|
|
sharkFunction.cpp allocation.hpp
|
|
sharkFunction.cpp ciTypeFlow.hpp
|
|
sharkFunction.cpp debug.hpp
|
|
sharkFunction.cpp llvmHeaders.hpp
|
|
sharkFunction.cpp llvmValue.hpp
|
|
sharkFunction.cpp shark_globals.hpp
|
|
sharkFunction.cpp sharkBuilder.hpp
|
|
sharkFunction.cpp sharkEntry.hpp
|
|
sharkFunction.cpp sharkFunction.hpp
|
|
sharkFunction.cpp sharkState.hpp
|
|
sharkFunction.cpp sharkTopLevelBlock.hpp
|
|
|
|
sharkFunction.hpp allocation.hpp
|
|
sharkFunction.hpp ciEnv.hpp
|
|
sharkFunction.hpp ciStreams.hpp
|
|
sharkFunction.hpp ciTypeFlow.hpp
|
|
sharkFunction.hpp llvmHeaders.hpp
|
|
sharkFunction.hpp llvmValue.hpp
|
|
sharkFunction.hpp sharkBuilder.hpp
|
|
sharkFunction.hpp sharkContext.hpp
|
|
sharkFunction.hpp sharkInvariants.hpp
|
|
sharkFunction.hpp sharkStack.hpp
|
|
|
|
sharkInliner.cpp allocation.hpp
|
|
sharkInliner.cpp bytecodes.hpp
|
|
sharkInliner.cpp ciField.hpp
|
|
sharkInliner.cpp ciMethod.hpp
|
|
sharkInliner.cpp ciStreams.hpp
|
|
sharkInliner.cpp shark_globals.hpp
|
|
sharkInliner.cpp sharkBlock.hpp
|
|
sharkInliner.cpp sharkConstant.hpp
|
|
sharkInliner.cpp sharkInliner.hpp
|
|
sharkInliner.cpp sharkIntrinsics.hpp
|
|
sharkInliner.cpp sharkState.hpp
|
|
sharkInliner.cpp sharkValue.hpp
|
|
|
|
sharkInliner.hpp allocation.hpp
|
|
sharkInliner.hpp ciMethod.hpp
|
|
sharkInliner.hpp llvmHeaders.hpp
|
|
sharkInliner.hpp sharkState.hpp
|
|
|
|
sharkIntrinsics.cpp ciMethod.hpp
|
|
sharkIntrinsics.cpp llvmHeaders.hpp
|
|
sharkIntrinsics.cpp shark_globals.hpp
|
|
sharkIntrinsics.cpp sharkIntrinsics.hpp
|
|
sharkIntrinsics.cpp sharkState.hpp
|
|
sharkIntrinsics.cpp sharkValue.hpp
|
|
|
|
sharkIntrinsics.hpp allocation.hpp
|
|
sharkIntrinsics.hpp ciMethod.hpp
|
|
sharkIntrinsics.hpp llvmHeaders.hpp
|
|
sharkIntrinsics.hpp sharkState.hpp
|
|
|
|
sharkInvariants.cpp sharkInvariants.hpp
|
|
|
|
sharkInvariants.hpp allocation.hpp
|
|
sharkInvariants.hpp ciEnv.hpp
|
|
sharkInvariants.hpp ciMethod.hpp
|
|
sharkInvariants.hpp ciInstanceKlass.hpp
|
|
sharkInvariants.hpp ciTypeFlow.hpp
|
|
sharkInvariants.hpp debugInfoRec.hpp
|
|
sharkInvariants.hpp dependencies.hpp
|
|
sharkInvariants.hpp llvmHeaders.hpp
|
|
sharkInvariants.hpp sharkBuilder.hpp
|
|
|
|
sharkMemoryManager.hpp llvmHeaders.hpp
|
|
sharkMemoryManager.hpp sharkEntry.hpp
|
|
|
|
sharkMemoryManager.cpp llvmHeaders.hpp
|
|
sharkMemoryManager.cpp sharkEntry.hpp
|
|
sharkMemoryManager.cpp sharkMemoryManager.hpp
|
|
|
|
sharkNativeWrapper.cpp llvmHeaders.hpp
|
|
sharkNativeWrapper.cpp sharkNativeWrapper.hpp
|
|
sharkNativeWrapper.cpp sharkType.hpp
|
|
|
|
sharkNativeWrapper.hpp handles.hpp
|
|
sharkNativeWrapper.hpp llvmHeaders.hpp
|
|
sharkNativeWrapper.hpp sharkBuilder.hpp
|
|
sharkNativeWrapper.hpp sharkContext.hpp
|
|
sharkNativeWrapper.hpp sharkInvariants.hpp
|
|
sharkNativeWrapper.hpp sharkStack.hpp
|
|
|
|
sharkRuntime.cpp biasedLocking.hpp
|
|
sharkRuntime.cpp deoptimization.hpp
|
|
sharkRuntime.cpp llvmHeaders.hpp
|
|
sharkRuntime.cpp klassOop.hpp
|
|
sharkRuntime.cpp sharkRuntime.hpp
|
|
sharkRuntime.cpp stack_<arch>.inline.hpp
|
|
sharkRuntime.cpp thread.hpp
|
|
|
|
sharkRuntime.hpp allocation.hpp
|
|
sharkRuntime.hpp llvmHeaders.hpp
|
|
sharkRuntime.hpp llvmValue.hpp
|
|
sharkRuntime.hpp klassOop.hpp
|
|
sharkRuntime.hpp thread.hpp
|
|
|
|
sharkStack.cpp llvmHeaders.hpp
|
|
sharkStack.cpp sharkFunction.hpp
|
|
sharkStack.cpp sharkNativeWrapper.hpp
|
|
sharkStack.cpp sharkStack.hpp
|
|
sharkStack.cpp sharkType.hpp
|
|
|
|
sharkStack.hpp llvmHeaders.hpp
|
|
sharkStack.hpp sharkInvariants.hpp
|
|
sharkStack.hpp sharkType.hpp
|
|
|
|
sharkState.cpp allocation.hpp
|
|
sharkState.cpp ciType.hpp
|
|
sharkState.cpp ciTypeFlow.hpp
|
|
sharkState.cpp sharkBuilder.hpp
|
|
sharkState.cpp sharkCacheDecache.hpp
|
|
sharkState.cpp sharkState.hpp
|
|
sharkState.cpp sharkTopLevelBlock.hpp
|
|
sharkState.cpp sharkType.hpp
|
|
sharkState.cpp sharkValue.hpp
|
|
|
|
sharkState.hpp allocation.hpp
|
|
sharkState.hpp ciMethod.hpp
|
|
sharkState.hpp llvmHeaders.hpp
|
|
sharkState.hpp sharkBuilder.hpp
|
|
sharkState.hpp sharkInvariants.hpp
|
|
sharkState.hpp sharkValue.hpp
|
|
|
|
sharkStateScanner.cpp sharkState.hpp
|
|
sharkStateScanner.cpp sharkStateScanner.hpp
|
|
|
|
sharkStateScanner.hpp allocation.hpp
|
|
sharkStateScanner.hpp llvmHeaders.hpp
|
|
sharkStateScanner.hpp sharkFunction.hpp
|
|
sharkStateScanner.hpp sharkInvariants.hpp
|
|
|
|
sharkTopLevelBlock.cpp allocation.hpp
|
|
sharkTopLevelBlock.cpp bytecodes.hpp
|
|
sharkTopLevelBlock.cpp ciField.hpp
|
|
sharkTopLevelBlock.cpp ciInstance.hpp
|
|
sharkTopLevelBlock.cpp ciObjArrayKlass.hpp
|
|
sharkTopLevelBlock.cpp ciStreams.hpp
|
|
sharkTopLevelBlock.cpp ciType.hpp
|
|
sharkTopLevelBlock.cpp ciTypeFlow.hpp
|
|
sharkTopLevelBlock.cpp debug.hpp
|
|
sharkTopLevelBlock.cpp deoptimization.hpp
|
|
sharkTopLevelBlock.cpp llvmHeaders.hpp
|
|
sharkTopLevelBlock.cpp llvmValue.hpp
|
|
sharkTopLevelBlock.cpp shark_globals.hpp
|
|
sharkTopLevelBlock.cpp sharkCacheDecache.hpp
|
|
sharkTopLevelBlock.cpp sharkTopLevelBlock.hpp
|
|
sharkTopLevelBlock.cpp sharkBuilder.hpp
|
|
sharkTopLevelBlock.cpp sharkConstant.hpp
|
|
sharkTopLevelBlock.cpp sharkInliner.hpp
|
|
sharkTopLevelBlock.cpp sharkState.hpp
|
|
sharkTopLevelBlock.cpp sharkValue.hpp
|
|
|
|
sharkTopLevelBlock.hpp allocation.hpp
|
|
sharkTopLevelBlock.hpp bytecodes.hpp
|
|
sharkTopLevelBlock.hpp ciStreams.hpp
|
|
sharkTopLevelBlock.hpp ciType.hpp
|
|
sharkTopLevelBlock.hpp ciTypeFlow.hpp
|
|
sharkTopLevelBlock.hpp llvmHeaders.hpp
|
|
sharkTopLevelBlock.hpp sharkBlock.hpp
|
|
sharkTopLevelBlock.hpp sharkBuilder.hpp
|
|
sharkTopLevelBlock.hpp sharkFunction.hpp
|
|
sharkTopLevelBlock.hpp sharkState.hpp
|
|
sharkTopLevelBlock.hpp sharkValue.hpp
|
|
|
|
sharkType.hpp allocation.hpp
|
|
sharkType.hpp ciType.hpp
|
|
sharkType.hpp globalDefinitions.hpp
|
|
sharkType.hpp llvmHeaders.hpp
|
|
sharkType.hpp sharkContext.hpp
|
|
|
|
sharkValue.cpp ciType.hpp
|
|
sharkValue.cpp llvmHeaders.hpp
|
|
sharkValue.cpp llvmValue.hpp
|
|
sharkValue.cpp sharkBuilder.hpp
|
|
sharkValue.cpp sharkValue.hpp
|
|
|
|
sharkValue.hpp allocation.hpp
|
|
sharkValue.hpp ciType.hpp
|
|
sharkValue.hpp llvmHeaders.hpp
|
|
sharkValue.hpp llvmValue.hpp
|
|
sharkValue.hpp sharkType.hpp
|