# HG changeset patch # User stefank # Date 1423834655 -3600 # Node ID c61eb49144286c95b2e87d89b0cc98f500fd6573 # Parent a16b0d9a08f5f48a659ebb5c1fd785074fc2e5d5 8072911: Remove includes of oop.inline.hpp from .hpp files Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/cpu/ppc/vm/icBuffer_ppc.cpp --- a/hotspot/src/cpu/ppc/vm/icBuffer_ppc.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/cpu/ppc/vm/icBuffer_ppc.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2012, 2013 SAP AG. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -32,7 +32,6 @@ #include "memory/resourceArea.hpp" #include "nativeInst_ppc.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #define __ masm. diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp --- a/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2012, 2014 SAP AG. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -25,6 +25,7 @@ #include "precompiled.hpp" #include "asm/macroAssembler.inline.hpp" +#include "classfile/javaClasses.inline.hpp" #include "interpreter/interpreter.hpp" #include "memory/allocation.inline.hpp" #include "prims/methodHandles.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp --- a/hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -33,6 +33,7 @@ #include "runtime/basicLock.hpp" #include "runtime/biasedLocking.hpp" #include "runtime/os.hpp" +#include "runtime/sharedRuntime.hpp" #include "runtime/stubRoutines.hpp" void C1_MacroAssembler::inline_cache_check(Register receiver, Register iCache) { diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/cpu/sparc/vm/icBuffer_sparc.cpp --- a/hotspot/src/cpu/sparc/vm/icBuffer_sparc.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/cpu/sparc/vm/icBuffer_sparc.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -30,7 +30,6 @@ #include "memory/resourceArea.hpp" #include "nativeInst_sparc.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" int InlineCacheBuffer::ic_stub_code_size() { #ifdef _LP64 diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp --- a/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2015, 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 @@ -24,6 +24,7 @@ #include "precompiled.hpp" #include "asm/macroAssembler.hpp" +#include "classfile/javaClasses.inline.hpp" #include "interpreter/interpreter.hpp" #include "interpreter/interp_masm.hpp" #include "memory/allocation.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp --- a/hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/cpu/x86/vm/c1_MacroAssembler_x86.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -33,6 +33,7 @@ #include "runtime/basicLock.hpp" #include "runtime/biasedLocking.hpp" #include "runtime/os.hpp" +#include "runtime/sharedRuntime.hpp" #include "runtime/stubRoutines.hpp" int C1_MacroAssembler::lock_object(Register hdr, Register obj, Register disp_hdr, Register scratch, Label& slow_case) { diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/cpu/x86/vm/icBuffer_x86.cpp --- a/hotspot/src/cpu/x86/vm/icBuffer_x86.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/cpu/x86/vm/icBuffer_x86.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -31,7 +31,6 @@ #include "memory/resourceArea.hpp" #include "nativeInst_x86.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" int InlineCacheBuffer::ic_stub_code_size() { return NativeMovConstReg::instruction_size + diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/cpu/x86/vm/methodHandles_x86.cpp --- a/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -24,6 +24,7 @@ #include "precompiled.hpp" #include "asm/macroAssembler.hpp" +#include "classfile/javaClasses.inline.hpp" #include "interpreter/interpreter.hpp" #include "interpreter/interpreterRuntime.hpp" #include "memory/allocation.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/cpu/zero/vm/icBuffer_zero.cpp --- a/hotspot/src/cpu/zero/vm/icBuffer_zero.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/cpu/zero/vm/icBuffer_zero.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2007 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -32,7 +32,6 @@ #include "memory/resourceArea.hpp" #include "nativeInst_zero.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" int InlineCacheBuffer::ic_stub_code_size() { // NB set this once the functions below are implemented diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/adlc/main.cpp --- a/hotspot/src/share/vm/adlc/main.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/adlc/main.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -220,7 +220,6 @@ AD.addInclude(AD._CPP_file, "oops/markOop.hpp"); AD.addInclude(AD._CPP_file, "oops/method.hpp"); AD.addInclude(AD._CPP_file, "oops/oop.inline.hpp"); - AD.addInclude(AD._CPP_file, "oops/oop.inline2.hpp"); AD.addInclude(AD._CPP_file, "opto/cfgnode.hpp"); AD.addInclude(AD._CPP_file, "opto/locknode.hpp"); AD.addInclude(AD._CPP_file, "opto/opcodes.hpp"); diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/c1/c1_Compilation.cpp --- a/hotspot/src/share/vm/c1/c1_Compilation.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/c1/c1_Compilation.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -29,12 +29,12 @@ #include "c1/c1_LIRAssembler.hpp" #include "c1/c1_LinearScan.hpp" #include "c1/c1_MacroAssembler.hpp" +#include "c1/c1_RangeCheckElimination.hpp" #include "c1/c1_ValueMap.hpp" #include "c1/c1_ValueStack.hpp" #include "code/debugInfoRec.hpp" #include "compiler/compileLog.hpp" -#include "c1/c1_RangeCheckElimination.hpp" - +#include "runtime/sharedRuntime.hpp" typedef enum { _t_compile, diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/c1/c1_GraphBuilder.cpp --- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -34,6 +34,7 @@ #include "ci/ciMemberName.hpp" #include "compiler/compileBroker.hpp" #include "interpreter/bytecode.hpp" +#include "oops/oop.inline.hpp" #include "runtime/sharedRuntime.hpp" #include "runtime/compilationPolicy.hpp" #include "runtime/vm_version.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/c1/c1_LIRGenerator.cpp --- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2015, 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 @@ -32,6 +32,7 @@ #include "ci/ciArrayKlass.hpp" #include "ci/ciInstance.hpp" #include "ci/ciObjArray.hpp" +#include "memory/cardTableModRefBS.hpp" #include "runtime/arguments.hpp" #include "runtime/sharedRuntime.hpp" #include "runtime/stubRoutines.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp --- a/hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/bcEscapeAnalyzer.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2015, 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 @@ -29,6 +29,7 @@ #include "ci/ciMethodBlocks.hpp" #include "ci/ciStreams.hpp" #include "interpreter/bytecode.hpp" +#include "oops/oop.inline.hpp" #include "utilities/bitMap.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciArray.cpp --- a/hotspot/src/share/vm/ci/ciArray.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciArray.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -28,7 +28,8 @@ #include "ci/ciConstant.hpp" #include "ci/ciKlass.hpp" #include "ci/ciUtilities.hpp" -#include "oops/objArrayOop.hpp" +#include "oops/objArrayOop.inline.hpp" +#include "oops/oop.inline.hpp" #include "oops/typeArrayOop.hpp" // ciArray diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciBaseObject.cpp --- a/hotspot/src/share/vm/ci/ciBaseObject.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciBaseObject.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2015, 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 @@ -26,7 +26,6 @@ #include "ci/ciBaseObject.hpp" #include "ci/ciUtilities.hpp" #include "gc_interface/collectedHeap.inline.hpp" -#include "oops/oop.inline2.hpp" // ------------------------------------------------------------------ // ciBaseObject::set_ident diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciCallSite.cpp --- a/hotspot/src/share/vm/ci/ciCallSite.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciCallSite.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015, 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 @@ -23,6 +23,7 @@ */ #include "precompiled.hpp" +#include "classfile/javaClasses.inline.hpp" #include "ci/ciCallSite.hpp" #include "ci/ciUtilities.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciEnv.cpp --- a/hotspot/src/share/vm/ci/ciEnv.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciEnv.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -46,8 +46,8 @@ #include "memory/universe.inline.hpp" #include "oops/methodData.hpp" #include "oops/objArrayKlass.hpp" +#include "oops/objArrayOop.inline.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "prims/jvmtiExport.hpp" #include "runtime/init.hpp" #include "runtime/reflection.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciField.cpp --- a/hotspot/src/share/vm/ci/ciField.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciField.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -31,7 +31,6 @@ #include "interpreter/linkResolver.hpp" #include "memory/universe.inline.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "runtime/fieldDescriptor.hpp" // ciField diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciInstance.hpp --- a/hotspot/src/share/vm/ci/ciInstance.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciInstance.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -27,6 +27,7 @@ #include "ci/ciObject.hpp" #include "oops/instanceOop.hpp" +#include "oops/oop.hpp" // ciInstance // diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciMetadata.cpp --- a/hotspot/src/share/vm/ci/ciMetadata.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciMetadata.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -26,7 +26,6 @@ #include "ci/ciObject.hpp" #include "ci/ciUtilities.hpp" #include "gc_interface/collectedHeap.inline.hpp" -#include "oops/oop.inline2.hpp" // ------------------------------------------------------------------ // ciMetadata::print diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciMethodData.hpp --- a/hotspot/src/share/vm/ci/ciMethodData.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciMethodData.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2015, 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 @@ -30,7 +30,7 @@ #include "ci/ciObject.hpp" #include "ci/ciUtilities.hpp" #include "oops/methodData.hpp" -#include "oops/oop.inline.hpp" +#include "oops/oop.hpp" #include "runtime/deoptimization.hpp" class ciBitData; diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciObjArray.cpp --- a/hotspot/src/share/vm/ci/ciObjArray.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciObjArray.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -26,7 +26,7 @@ #include "ci/ciNullObject.hpp" #include "ci/ciObjArray.hpp" #include "ci/ciUtilities.hpp" -#include "oops/objArrayOop.hpp" +#include "oops/objArrayOop.inline.hpp" // ciObjArray // diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciObject.cpp --- a/hotspot/src/share/vm/ci/ciObject.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciObject.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -26,7 +26,7 @@ #include "ci/ciObject.hpp" #include "ci/ciUtilities.hpp" #include "gc_interface/collectedHeap.inline.hpp" -#include "oops/oop.inline2.hpp" +#include "oops/oop.inline.hpp" // ciObject // diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciObjectFactory.cpp --- a/hotspot/src/share/vm/ci/ciObjectFactory.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciObjectFactory.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, 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 @@ -40,11 +40,11 @@ #include "ci/ciTypeArray.hpp" #include "ci/ciTypeArrayKlass.hpp" #include "ci/ciUtilities.hpp" +#include "classfile/javaClasses.inline.hpp" #include "classfile/systemDictionary.hpp" #include "gc_interface/collectedHeap.inline.hpp" #include "memory/allocation.inline.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "runtime/fieldType.hpp" #include "utilities/macros.hpp" #if INCLUDE_ALL_GCS diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciReplay.cpp --- a/hotspot/src/share/vm/ci/ciReplay.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciReplay.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,4 +1,4 @@ -/* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +/* Copyright (c) 2013, 2015, 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 @@ -31,6 +31,7 @@ #include "memory/allocation.inline.hpp" #include "memory/oopFactory.hpp" #include "memory/resourceArea.hpp" +#include "oops/oop.inline.hpp" #include "utilities/copy.hpp" #include "utilities/macros.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/ci/ciTypeFlow.cpp --- a/hotspot/src/share/vm/ci/ciTypeFlow.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/ci/ciTypeFlow.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, 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 @@ -35,6 +35,7 @@ #include "interpreter/bytecode.hpp" #include "interpreter/bytecodes.hpp" #include "memory/allocation.inline.hpp" +#include "oops/oop.inline.hpp" #include "opto/compile.hpp" #include "opto/node.hpp" #include "runtime/deoptimization.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/classFileParser.cpp --- a/hotspot/src/share/vm/classfile/classFileParser.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/classFileParser.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -25,10 +25,9 @@ #include "precompiled.hpp" #include "classfile/classFileParser.hpp" #include "classfile/classLoader.hpp" -#include "classfile/classLoaderData.hpp" #include "classfile/classLoaderData.inline.hpp" #include "classfile/defaultMethods.hpp" -#include "classfile/javaClasses.hpp" +#include "classfile/javaClasses.inline.hpp" #include "classfile/symbolTable.hpp" #include "classfile/systemDictionary.hpp" #include "classfile/verificationType.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/classFileParser.hpp --- a/hotspot/src/share/vm/classfile/classFileParser.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/classFileParser.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -27,9 +27,7 @@ #include "classfile/classFileStream.hpp" #include "memory/resourceArea.hpp" -#include "oops/oop.inline.hpp" #include "oops/typeArrayOop.hpp" -#include "runtime/handles.inline.hpp" #include "utilities/accessFlags.hpp" #include "classfile/symbolTable.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/classLoaderData.cpp --- a/hotspot/src/share/vm/classfile/classLoaderData.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/classLoaderData.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, 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 @@ -57,6 +57,8 @@ #include "memory/metadataFactory.hpp" #include "memory/metaspaceShared.hpp" #include "memory/oopFactory.hpp" +#include "oops/objArrayOop.inline.hpp" +#include "oops/oop.inline.hpp" #include "runtime/atomic.inline.hpp" #include "runtime/jniHandles.hpp" #include "runtime/mutex.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/classLoaderStats.cpp --- a/hotspot/src/share/vm/classfile/classLoaderStats.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/classLoaderStats.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, 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 @@ -24,6 +24,7 @@ #include "precompiled.hpp" #include "classfile/classLoaderStats.hpp" +#include "oops/oop.inline.hpp" #include "utilities/globalDefinitions.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/dictionary.hpp --- a/hotspot/src/share/vm/classfile/dictionary.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/dictionary.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, 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 @@ -27,7 +27,7 @@ #include "classfile/systemDictionary.hpp" #include "oops/instanceKlass.hpp" -#include "oops/oop.inline.hpp" +#include "oops/oop.hpp" #include "utilities/hashtable.hpp" class DictionaryEntry; diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/javaClasses.cpp --- a/hotspot/src/share/vm/classfile/javaClasses.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/javaClasses.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -24,7 +24,7 @@ #include "precompiled.hpp" #include "classfile/altHashing.hpp" -#include "classfile/javaClasses.hpp" +#include "classfile/javaClasses.inline.hpp" #include "classfile/stringTable.hpp" #include "classfile/vmSymbols.hpp" #include "code/debugInfo.hpp" @@ -39,6 +39,8 @@ #include "oops/instanceMirrorKlass.hpp" #include "oops/klass.hpp" #include "oops/method.hpp" +#include "oops/objArrayOop.inline.hpp" +#include "oops/oop.inline.hpp" #include "oops/symbol.hpp" #include "oops/typeArrayOop.hpp" #include "prims/jvmtiRedefineClassesTrace.hpp" @@ -149,6 +151,10 @@ bool java_lang_String::initialized = false; +bool java_lang_String::is_instance(oop obj) { + return is_instance_inlined(obj); +} + void java_lang_String::compute_offsets() { assert(!initialized, "offsets should be initialized only once"); @@ -2730,6 +2736,11 @@ } } +bool java_lang_invoke_LambdaForm::is_instance(oop obj) { + return obj != NULL && is_subclass(obj->klass()); +} + + oop java_lang_invoke_MethodHandle::type(oop mh) { return mh->obj_field(_type_offset); } @@ -3076,6 +3087,10 @@ return false; } +bool java_lang_ClassLoader::is_instance(oop obj) { + return obj != NULL && is_subclass(obj->klass()); +} + // For class loader classes, parallelCapable defined // based on non-null field diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/javaClasses.hpp --- a/hotspot/src/share/vm/classfile/javaClasses.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/javaClasses.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -204,9 +204,8 @@ static Symbol* as_symbol_or_null(oop java_string); // Testers - static bool is_instance(oop obj) { - return obj != NULL && obj->klass() == SystemDictionary::String_klass(); - } + static bool is_instance(oop obj); + static bool is_instance_inlined(oop obj); // Debugging static void print(oop java_string, outputStream* st); @@ -273,9 +272,8 @@ static Symbol* as_signature(oop java_class, bool intern_if_not_found, TRAPS); static void print_signature(oop java_class, outputStream *st); // Testing - static bool is_instance(oop obj) { - return obj != NULL && obj->klass() == SystemDictionary::Class_klass(); - } + static bool is_instance(oop obj); + static bool is_primitive(oop java_class); static BasicType primitive_type(oop java_class); static oop primitive_mirror(BasicType t); @@ -989,9 +987,7 @@ static bool is_subclass(Klass* klass) { return klass->is_subclass_of(SystemDictionary::MethodHandle_klass()); } - static bool is_instance(oop obj) { - return obj != NULL && is_subclass(obj->klass()); - } + static bool is_instance(oop obj); // Accessors for code generation: static int type_offset_in_bytes() { return _type_offset; } @@ -1016,9 +1012,7 @@ static bool is_subclass(Klass* klass) { return klass->is_subclass_of(SystemDictionary::DirectMethodHandle_klass()); } - static bool is_instance(oop obj) { - return obj != NULL && is_subclass(obj->klass()); - } + static bool is_instance(oop obj); // Accessors for code generation: static int member_offset_in_bytes() { return _member_offset; } @@ -1045,9 +1039,7 @@ return SystemDictionary::LambdaForm_klass() != NULL && klass->is_subclass_of(SystemDictionary::LambdaForm_klass()); } - static bool is_instance(oop obj) { - return obj != NULL && is_subclass(obj->klass()); - } + static bool is_instance(oop obj); // Accessors for code generation: static int vmentry_offset_in_bytes() { return _vmentry_offset; } @@ -1111,9 +1103,7 @@ static bool is_subclass(Klass* klass) { return klass->is_subclass_of(SystemDictionary::MemberName_klass()); } - static bool is_instance(oop obj) { - return obj != NULL && is_subclass(obj->klass()); - } + static bool is_instance(oop obj); static bool is_method(oop obj); @@ -1166,9 +1156,7 @@ static Symbol* as_signature(oop mt, bool intern_if_not_found, TRAPS); static void print_signature(oop mt, outputStream* st); - static bool is_instance(oop obj) { - return obj != NULL && obj->klass() == SystemDictionary::MethodType_klass(); - } + static bool is_instance(oop obj); static bool equals(oop mt1, oop mt2); @@ -1190,19 +1178,17 @@ public: // Accessors - static oop target( oop site) { return site->obj_field( _target_offset); } - static void set_target( oop site, oop target) { site->obj_field_put( _target_offset, target); } + static oop target( oop site); + static void set_target( oop site, oop target); - static volatile oop target_volatile(oop site) { return oop((oopDesc *)(site->obj_field_volatile(_target_offset))); } - static void set_target_volatile(oop site, oop target) { site->obj_field_put_volatile(_target_offset, target); } + static volatile oop target_volatile(oop site); + static void set_target_volatile(oop site, oop target); // Testers static bool is_subclass(Klass* klass) { return klass->is_subclass_of(SystemDictionary::CallSite_klass()); } - static bool is_instance(oop obj) { - return obj != NULL && is_subclass(obj->klass()); - } + static bool is_instance(oop obj); // Accessors for code generation: static int target_offset_in_bytes() { return _target_offset; } @@ -1268,9 +1254,7 @@ static bool is_subclass(Klass* klass) { return klass->is_subclass_of(SystemDictionary::ClassLoader_klass()); } - static bool is_instance(oop obj) { - return obj != NULL && is_subclass(obj->klass()); - } + static bool is_instance(oop obj); // Debugging friend class JavaClasses; diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/javaClasses.inline.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/src/share/vm/classfile/javaClasses.inline.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2015, 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. + * + */ + +#ifndef SHARE_VM_CLASSFILE_JAVACLASSES_INLINE_HPP +#define SHARE_VM_CLASSFILE_JAVACLASSES_INLINE_HPP + +#include "classfile/javaClasses.hpp" +#include "oops/oop.inline.hpp" +#include "oops/oopsHierarchy.hpp" + +inline volatile oop java_lang_invoke_CallSite::target_volatile(oop site) { + return oop((oopDesc *)(site->obj_field_volatile(_target_offset))); +} + +inline void java_lang_invoke_CallSite::set_target_volatile(oop site, oop target) { + site->obj_field_put_volatile(_target_offset, target); +} + +inline oop java_lang_invoke_CallSite::target(oop site) { + return site->obj_field(_target_offset); +} + +inline void java_lang_invoke_CallSite::set_target(oop site, oop target) { + site->obj_field_put(_target_offset, target); +} + +inline bool java_lang_String::is_instance_inlined(oop obj) { + return obj != NULL && obj->klass() == SystemDictionary::String_klass(); +} + +inline bool java_lang_invoke_CallSite::is_instance(oop obj) { + return obj != NULL && is_subclass(obj->klass()); +} + +inline bool java_lang_invoke_MemberName::is_instance(oop obj) { + return obj != NULL && is_subclass(obj->klass()); +} + +inline bool java_lang_invoke_MethodType::is_instance(oop obj) { + return obj != NULL && obj->klass() == SystemDictionary::MethodType_klass(); +} + +inline bool java_lang_invoke_MethodHandle::is_instance(oop obj) { + return obj != NULL && is_subclass(obj->klass()); +} + +inline bool java_lang_Class::is_instance(oop obj) { + return obj != NULL && obj->klass() == SystemDictionary::Class_klass(); +} + +inline bool java_lang_invoke_DirectMethodHandle::is_instance(oop obj) { + return obj != NULL && is_subclass(obj->klass()); +} + +#endif // SHARE_VM_CLASSFILE_JAVACLASSES_INLINE_HPP diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/stringTable.cpp --- a/hotspot/src/share/vm/classfile/stringTable.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/stringTable.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -33,7 +33,6 @@ #include "memory/filemap.hpp" #include "memory/gcLocker.inline.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "runtime/atomic.inline.hpp" #include "runtime/mutexLocker.hpp" #include "utilities/hashtable.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/symbolTable.cpp --- a/hotspot/src/share/vm/classfile/symbolTable.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/symbolTable.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -33,7 +33,6 @@ #include "memory/filemap.hpp" #include "memory/gcLocker.inline.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "runtime/atomic.inline.hpp" #include "runtime/mutexLocker.hpp" #include "utilities/hashtable.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/systemDictionary.cpp --- a/hotspot/src/share/vm/classfile/systemDictionary.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/systemDictionary.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -25,7 +25,7 @@ #include "precompiled.hpp" #include "classfile/classLoaderData.inline.hpp" #include "classfile/dictionary.hpp" -#include "classfile/javaClasses.hpp" +#include "classfile/javaClasses.inline.hpp" #include "classfile/loaderConstraints.hpp" #include "classfile/placeholders.hpp" #include "classfile/resolutionErrors.hpp" @@ -44,8 +44,8 @@ #include "oops/klass.inline.hpp" #include "oops/methodData.hpp" #include "oops/objArrayKlass.hpp" +#include "oops/objArrayOop.inline.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "oops/typeArrayKlass.hpp" #include "prims/jvmtiEnvBase.hpp" #include "prims/methodHandles.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/classfile/verificationType.hpp --- a/hotspot/src/share/vm/classfile/verificationType.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/classfile/verificationType.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, 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 @@ -28,7 +28,7 @@ #include "classfile/systemDictionary.hpp" #include "memory/allocation.hpp" #include "oops/instanceKlass.hpp" -#include "oops/oop.inline.hpp" +#include "oops/oop.hpp" #include "oops/symbol.hpp" #include "runtime/handles.hpp" #include "runtime/signature.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/code/dependencies.cpp --- a/hotspot/src/share/vm/code/dependencies.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/code/dependencies.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2015, 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 @@ -27,6 +27,7 @@ #include "ci/ciEnv.hpp" #include "ci/ciKlass.hpp" #include "ci/ciMethod.hpp" +#include "classfile/javaClasses.inline.hpp" #include "code/dependencies.hpp" #include "compiler/compileLog.hpp" #include "oops/oop.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/code/icBuffer.cpp --- a/hotspot/src/share/vm/code/icBuffer.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/code/icBuffer.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -35,7 +35,6 @@ #include "memory/universe.inline.hpp" #include "oops/method.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/stubRoutines.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/code/nmethod.cpp --- a/hotspot/src/share/vm/code/nmethod.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/code/nmethod.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -35,6 +35,7 @@ #include "compiler/disassembler.hpp" #include "interpreter/bytecode.hpp" #include "oops/methodData.hpp" +#include "oops/oop.inline.hpp" #include "prims/jvmtiRedefineClassesTrace.hpp" #include "prims/jvmtiImpl.hpp" #include "runtime/atomic.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/compiler/disassembler.cpp --- a/hotspot/src/share/vm/compiler/disassembler.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/compiler/disassembler.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 2015, 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 @@ -28,6 +28,7 @@ #include "compiler/disassembler.hpp" #include "gc_interface/collectedHeap.hpp" #include "memory/cardTableModRefBS.hpp" +#include "oops/oop.inline.hpp" #include "runtime/fprofiler.hpp" #include "runtime/handles.inline.hpp" #include "runtime/os.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -27,6 +27,7 @@ #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp" #include "gc_implementation/g1/heapRegion.hpp" #include "gc_implementation/g1/satbQueue.hpp" +#include "oops/oop.inline.hpp" #include "runtime/atomic.inline.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/orderAccess.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -28,7 +28,7 @@ #include "gc_implementation/g1/g1RegionToSpaceMapper.hpp" #include "memory/cardTableModRefBS.hpp" #include "memory/memRegion.hpp" -#include "oops/oop.inline.hpp" +#include "oops/oop.hpp" #include "utilities/macros.hpp" class DirtyCardQueueSet; diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, 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 @@ -23,7 +23,7 @@ */ #include "precompiled.hpp" -#include "classfile/javaClasses.hpp" +#include "classfile/javaClasses.inline.hpp" #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" #include "gc_implementation/g1/g1GCPhaseTimes.hpp" #include "gc_implementation/g1/g1StringDedup.hpp" @@ -51,7 +51,7 @@ } bool G1StringDedup::is_candidate_from_mark(oop obj) { - if (java_lang_String::is_instance(obj)) { + if (java_lang_String::is_instance_inlined(obj)) { bool from_young = G1CollectedHeap::heap()->heap_region_containing_raw(obj)->is_young(); if (from_young && obj->age() < StringDeduplicationAgeThreshold) { // Candidate found. String is being evacuated from young to old but has not @@ -73,7 +73,7 @@ } bool G1StringDedup::is_candidate_from_evacuation(bool from_young, bool to_young, oop obj) { - if (from_young && java_lang_String::is_instance(obj)) { + if (from_young && java_lang_String::is_instance_inlined(obj)) { if (to_young && obj->age() == StringDeduplicationAgeThreshold) { // Candidate found. String is being evacuated from young to young and just // reached the deduplication age threshold. diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, 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 @@ -23,9 +23,11 @@ */ #include "precompiled.hpp" -#include "classfile/javaClasses.hpp" +#include "classfile/javaClasses.inline.hpp" +#include "gc_implementation/g1/g1StringDedup.hpp" #include "gc_implementation/g1/g1StringDedupQueue.hpp" #include "memory/gcLocker.hpp" +#include "oops/oop.inline.hpp" #include "runtime/atomic.inline.hpp" #include "runtime/mutexLocker.hpp" #include "utilities/stack.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, 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 @@ -24,13 +24,14 @@ #include "precompiled.hpp" #include "classfile/altHashing.hpp" -#include "classfile/javaClasses.hpp" +#include "classfile/javaClasses.inline.hpp" #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp" #include "gc_implementation/g1/g1StringDedupTable.hpp" #include "memory/gcLocker.hpp" #include "memory/padded.inline.hpp" #include "oops/typeArrayOop.hpp" +#include "oops/oop.inline.hpp" #include "runtime/mutexLocker.hpp" // diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_implementation/g1/heapRegion.inline.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.inline.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.inline.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2015, 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 @@ -29,6 +29,7 @@ #include "gc_implementation/g1/g1CollectedHeap.hpp" #include "gc_implementation/g1/heapRegion.hpp" #include "memory/space.hpp" +#include "oops/oop.inline.hpp" #include "runtime/atomic.inline.hpp" // This version requires locking. diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_implementation/shared/gcTrace.cpp --- a/hotspot/src/share/vm/gc_implementation/shared/gcTrace.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_implementation/shared/gcTrace.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, 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 @@ -31,6 +31,7 @@ #include "gc_implementation/shared/objectCountEventSender.hpp" #include "memory/heapInspection.hpp" #include "memory/referenceProcessorStats.hpp" +#include "memory/resourceArea.hpp" #include "runtime/os.hpp" #include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp --- a/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2015, 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 @@ -41,6 +41,11 @@ #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" #endif // INCLUDE_ALL_GCS +VM_GC_Operation::~VM_GC_Operation() { + CollectedHeap* ch = Universe::heap(); + ch->collector_policy()->set_all_soft_refs_clear(false); +} + // The same dtrace probe can't be inserted in two different files, so we // have to call it here, so it's only in one file. Can't create new probes // for the other file anymore. The dtrace probes have to remain stable. diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.hpp --- a/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_GC_IMPLEMENTATION_SHARED_VMGCOPERATIONS_HPP #define SHARE_VM_GC_IMPLEMENTATION_SHARED_VMGCOPERATIONS_HPP +#include "gc_interface/collectedHeap.hpp" #include "memory/heapInspection.hpp" #include "runtime/handles.hpp" #include "runtime/jniHandles.hpp" @@ -106,10 +107,7 @@ // mutators have run. Soft refs will be cleared again in this // collection. } - ~VM_GC_Operation() { - CollectedHeap* ch = Universe::heap(); - ch->collector_policy()->set_all_soft_refs_clear(false); - } + ~VM_GC_Operation(); // Acquire the reference synchronization lock virtual bool doit_prologue(); diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_interface/collectedHeap.cpp --- a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2015, 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 @@ -32,6 +32,7 @@ #include "gc_interface/allocTracer.hpp" #include "gc_interface/collectedHeap.hpp" #include "gc_interface/collectedHeap.inline.hpp" +#include "memory/barrierSet.inline.hpp" #include "memory/metaspace.hpp" #include "oops/oop.inline.hpp" #include "oops/instanceMirrorKlass.hpp" @@ -124,6 +125,14 @@ } } +void CollectedHeap::print_on_error(outputStream* st) const { + st->print_cr("Heap:"); + print_extended_on(st); + st->cr(); + + _barrier_set->print_on(st); +} + void CollectedHeap::register_nmethod(nmethod* nm) { assert_locked_or_safepoint(CodeCache_lock); } diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/gc_interface/collectedHeap.hpp --- a/hotspot/src/share/vm/gc_interface/collectedHeap.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/gc_interface/collectedHeap.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2015, 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 @@ -28,7 +28,6 @@ #include "gc_interface/gcCause.hpp" #include "gc_implementation/shared/gcWhen.hpp" #include "memory/allocation.hpp" -#include "memory/barrierSet.hpp" #include "runtime/handles.hpp" #include "runtime/perfData.hpp" #include "runtime/safepoint.hpp" @@ -576,13 +575,7 @@ print_on(st); } - virtual void print_on_error(outputStream* st) const { - st->print_cr("Heap:"); - print_extended_on(st); - st->cr(); - - _barrier_set->print_on(st); - } + virtual void print_on_error(outputStream* st) const; // Print all GC threads (other than the VM thread) // used by this heap. diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/interpreter/bytecodeTracer.cpp --- a/hotspot/src/share/vm/interpreter/bytecodeTracer.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/interpreter/bytecodeTracer.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -23,6 +23,7 @@ */ #include "precompiled.hpp" +#include "classfile/javaClasses.inline.hpp" #include "interpreter/bytecodeHistogram.hpp" #include "interpreter/bytecodeTracer.hpp" #include "interpreter/bytecodes.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/interpreter/interpreterRuntime.cpp --- a/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -23,6 +23,7 @@ */ #include "precompiled.hpp" +#include "classfile/javaClasses.inline.hpp" #include "classfile/systemDictionary.hpp" #include "classfile/vmSymbols.hpp" #include "compiler/compileBroker.hpp" @@ -38,6 +39,7 @@ #include "oops/instanceKlass.hpp" #include "oops/methodData.hpp" #include "oops/objArrayKlass.hpp" +#include "oops/objArrayOop.inline.hpp" #include "oops/oop.inline.hpp" #include "oops/symbol.hpp" #include "prims/jvmtiExport.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/interpreter/linkResolver.cpp --- a/hotspot/src/share/vm/interpreter/linkResolver.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/interpreter/linkResolver.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -35,6 +35,7 @@ #include "memory/universe.inline.hpp" #include "oops/instanceKlass.hpp" #include "oops/objArrayOop.hpp" +#include "oops/oop.inline.hpp" #include "prims/methodHandles.hpp" #include "prims/nativeLookup.hpp" #include "runtime/compilationPolicy.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/barrierSet.hpp --- a/hotspot/src/share/vm/memory/barrierSet.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/memory/barrierSet.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -160,7 +160,7 @@ // (For efficiency reasons, this operation is specialized for certain // barrier types. Semantically, it should be thought of as a call to the // virtual "_work" function below, which must implement the barrier.) - inline void write_region(MemRegion mr); + void write_region(MemRegion mr); protected: virtual void write_region_work(MemRegion mr) = 0; public: diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/barrierSet.inline.hpp --- a/hotspot/src/share/vm/memory/barrierSet.inline.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/memory/barrierSet.inline.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2015, 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 @@ -26,7 +26,7 @@ #define SHARE_VM_MEMORY_BARRIERSET_INLINE_HPP #include "memory/barrierSet.hpp" -#include "memory/cardTableModRefBS.hpp" +#include "memory/cardTableModRefBS.inline.hpp" // Inline functions of BarrierSet, which de-virtualize certain // performance-critical calls when the barrier is the most common @@ -76,7 +76,7 @@ } -void BarrierSet::write_region(MemRegion mr) { +inline void BarrierSet::write_region(MemRegion mr) { if (kind() == CardTableModRef) { ((CardTableModRefBS*)this)->inline_write_region(mr); } else { diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/cardTableModRefBS.cpp --- a/hotspot/src/share/vm/memory/cardTableModRefBS.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/memory/cardTableModRefBS.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -24,7 +24,7 @@ #include "precompiled.hpp" #include "memory/allocation.inline.hpp" -#include "memory/cardTableModRefBS.hpp" +#include "memory/cardTableModRefBS.inline.hpp" #include "memory/cardTableRS.hpp" #include "memory/sharedHeap.hpp" #include "memory/space.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/cardTableModRefBS.hpp --- a/hotspot/src/share/vm/memory/cardTableModRefBS.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/memory/cardTableModRefBS.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -27,7 +27,6 @@ #include "memory/modRefBarrierSet.hpp" #include "oops/oop.hpp" -#include "oops/oop.inline2.hpp" // This kind of "BarrierSet" allows a "CollectedHeap" to detect and // enumerate ref fields that have been modified (since the last @@ -45,6 +44,7 @@ class OopsInGenClosure; class DirtyCardToOopClosure; class ClearNoncleanCardWrapper; +class CardTableRS; class CardTableModRefBS: public ModRefBarrierSet { // Some classes get to look at some private stuff. @@ -333,15 +333,7 @@ template inline void inline_write_ref_field_pre(T* field, oop newVal) {} - template inline void inline_write_ref_field(T* field, oop newVal, bool release) { - jbyte* byte = byte_for((void*)field); - if (release) { - // Perform a releasing store if requested. - OrderAccess::release_store((volatile jbyte*) byte, dirty_card); - } else { - *byte = dirty_card; - } - } + template inline void inline_write_ref_field(T* field, oop newVal, bool release); // These are used by G1, when it uses the card table as a temporary data // structure for card claiming. diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/cardTableModRefBS.inline.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/src/share/vm/memory/cardTableModRefBS.inline.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2000, 2015, 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. + * + */ + +#ifndef SHARE_VM_MEMORY_CARDTABLEMODREFBS_INLINE_HPP +#define SHARE_VM_MEMORY_CARDTABLEMODREFBS_INLINE_HPP + +#include "memory/cardTableModRefBS.hpp" +#include "oops/oopsHierarchy.hpp" +#include "runtime/orderAccess.inline.hpp" + +template inline void CardTableModRefBS::inline_write_ref_field(T* field, oop newVal, bool release) { + jbyte* byte = byte_for((void*)field); + if (release) { + // Perform a releasing store if requested. + OrderAccess::release_store((volatile jbyte*) byte, dirty_card); + } else { + *byte = dirty_card; + } +} + +#endif // SHARE_VM_MEMORY_CARDTABLEMODREFBS_INLINE_HPP diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/genCollectedHeap.cpp --- a/hotspot/src/share/vm/memory/genCollectedHeap.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/memory/genCollectedHeap.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -41,7 +41,6 @@ #include "memory/sharedHeap.hpp" #include "memory/space.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "runtime/biasedLocking.hpp" #include "runtime/fprofiler.hpp" #include "runtime/handles.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/heapInspection.cpp --- a/hotspot/src/share/vm/memory/heapInspection.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/memory/heapInspection.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2015, 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 @@ -28,6 +28,7 @@ #include "memory/genCollectedHeap.hpp" #include "memory/heapInspection.hpp" #include "memory/resourceArea.hpp" +#include "oops/oop.inline.hpp" #include "runtime/os.hpp" #include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/heapInspection.hpp --- a/hotspot/src/share/vm/memory/heapInspection.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/memory/heapInspection.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2015, 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 @@ -25,8 +25,9 @@ #ifndef SHARE_VM_MEMORY_HEAPINSPECTION_HPP #define SHARE_VM_MEMORY_HEAPINSPECTION_HPP -#include "memory/allocation.inline.hpp" -#include "oops/oop.inline.hpp" +#include "memory/allocation.hpp" +#include "oops/objArrayOop.hpp" +#include "oops/oop.hpp" #include "oops/annotations.hpp" #include "utilities/macros.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/space.cpp --- a/hotspot/src/share/vm/memory/space.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/memory/space.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -36,7 +36,6 @@ #include "memory/space.inline.hpp" #include "memory/universe.inline.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "runtime/java.hpp" #include "runtime/atomic.inline.hpp" #include "runtime/prefetch.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/space.inline.hpp --- a/hotspot/src/share/vm/memory/space.inline.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/memory/space.inline.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, 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 @@ -29,6 +29,7 @@ #include "gc_implementation/shared/markSweep.inline.hpp" #include "gc_implementation/shared/spaceDecorator.hpp" #include "gc_interface/collectedHeap.hpp" +#include "memory/generation.hpp" #include "memory/space.hpp" #include "memory/universe.hpp" #include "runtime/prefetch.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/memory/universe.cpp --- a/hotspot/src/share/vm/memory/universe.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/memory/universe.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -50,6 +50,7 @@ #include "oops/instanceKlass.hpp" #include "oops/instanceMirrorKlass.hpp" #include "oops/instanceRefKlass.hpp" +#include "oops/objArrayOop.inline.hpp" #include "oops/oop.inline.hpp" #include "oops/typeArrayKlass.hpp" #include "prims/jvmtiRedefineClassesTrace.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/compiledICHolder.cpp --- a/hotspot/src/share/vm/oops/compiledICHolder.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/oops/compiledICHolder.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2015, 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 @@ -26,7 +26,6 @@ #include "oops/compiledICHolder.hpp" #include "oops/klass.hpp" #include "oops/method.hpp" -#include "oops/oop.inline2.hpp" #include "runtime/atomic.inline.hpp" volatile int CompiledICHolder::_live_count; diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/constantPool.cpp --- a/hotspot/src/share/vm/oops/constantPool.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/oops/constantPool.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -24,7 +24,7 @@ #include "precompiled.hpp" #include "classfile/classLoaderData.hpp" -#include "classfile/javaClasses.hpp" +#include "classfile/javaClasses.inline.hpp" #include "classfile/metadataOnStackMark.hpp" #include "classfile/stringTable.hpp" #include "classfile/systemDictionary.hpp" @@ -36,11 +36,14 @@ #include "oops/constantPool.hpp" #include "oops/instanceKlass.hpp" #include "oops/objArrayKlass.hpp" +#include "oops/objArrayOop.inline.hpp" +#include "oops/oop.inline.hpp" #include "runtime/fieldType.hpp" #include "runtime/init.hpp" #include "runtime/javaCalls.hpp" #include "runtime/signature.hpp" #include "runtime/vframe.hpp" +#include "utilities/copy.hpp" PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/cpCache.cpp --- a/hotspot/src/share/vm/oops/cpCache.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/oops/cpCache.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2015, 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 @@ -28,7 +28,7 @@ #include "interpreter/rewriter.hpp" #include "memory/universe.inline.hpp" #include "oops/cpCache.hpp" -#include "oops/objArrayOop.hpp" +#include "oops/objArrayOop.inline.hpp" #include "oops/oop.inline.hpp" #include "prims/jvmtiRedefineClassesTrace.hpp" #include "prims/methodHandles.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/klass.cpp --- a/hotspot/src/share/vm/oops/klass.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/oops/klass.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -35,7 +35,7 @@ #include "memory/resourceArea.hpp" #include "oops/instanceKlass.hpp" #include "oops/klass.inline.hpp" -#include "oops/oop.inline2.hpp" +#include "oops/oop.inline.hpp" #include "runtime/atomic.inline.hpp" #include "runtime/orderAccess.inline.hpp" #include "trace/traceMacros.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/methodData.cpp --- a/hotspot/src/share/vm/oops/methodData.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/oops/methodData.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, 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 @@ -36,6 +36,7 @@ #include "runtime/deoptimization.hpp" #include "runtime/handles.inline.hpp" #include "runtime/orderAccess.inline.hpp" +#include "utilities/copy.hpp" PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/objArrayKlass.cpp --- a/hotspot/src/share/vm/oops/objArrayKlass.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/oops/objArrayKlass.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -35,11 +35,9 @@ #include "memory/universe.inline.hpp" #include "oops/instanceKlass.hpp" #include "oops/klass.inline.hpp" -#include "oops/objArrayKlass.hpp" #include "oops/objArrayKlass.inline.hpp" -#include "oops/objArrayOop.hpp" +#include "oops/objArrayOop.inline.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "oops/symbol.hpp" #include "runtime/handles.inline.hpp" #include "runtime/mutexLocker.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/objArrayOop.hpp --- a/hotspot/src/share/vm/oops/objArrayOop.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/oops/objArrayOop.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -78,15 +78,7 @@ HeapWord* base() const { return (HeapWord*) arrayOopDesc::base(T_OBJECT); } // Accessing - oop obj_at(int index) const { - // With UseCompressedOops decode the narrow oop in the objArray to an - // uncompressed oop. Otherwise this is simply a "*" operator. - if (UseCompressedOops) { - return load_decode_heap_oop(obj_at_addr(index)); - } else { - return load_decode_heap_oop(obj_at_addr(index)); - } - } + oop obj_at(int index) const; void obj_at_put(int index, oop value) { if (UseCompressedOops) { diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/objArrayOop.inline.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/src/share/vm/oops/objArrayOop.inline.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2015, 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. + * + */ + +#ifndef SHARE_VM_OOPS_OBJARRAYOOP_INLINE_HPP +#define SHARE_VM_OOPS_OBJARRAYOOP_INLINE_HPP + +#include "oops/objArrayOop.hpp" +#include "oops/oop.inline.hpp" +#include "runtime/globals.hpp" + +inline oop objArrayOopDesc::obj_at(int index) const { + // With UseCompressedOops decode the narrow oop in the objArray to an + // uncompressed oop. Otherwise this is simply a "*" operator. + if (UseCompressedOops) { + return load_decode_heap_oop(obj_at_addr(index)); + } else { + return load_decode_heap_oop(obj_at_addr(index)); + } +} + +#endif // SHARE_VM_OOPS_OBJARRAYOOP_INLINE_HPP diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/oop.cpp --- a/hotspot/src/share/vm/oops/oop.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/oops/oop.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -24,7 +24,7 @@ #include "precompiled.hpp" #include "classfile/altHashing.hpp" -#include "classfile/javaClasses.hpp" +#include "classfile/javaClasses.inline.hpp" #include "oops/oop.inline.hpp" #include "runtime/handles.inline.hpp" #include "runtime/thread.inline.hpp" @@ -122,3 +122,17 @@ void VerifyOopClosure::do_oop(oop* p) { VerifyOopClosure::do_oop_work(p); } void VerifyOopClosure::do_oop(narrowOop* p) { VerifyOopClosure::do_oop_work(p); } + +// type test operations that doesn't require inclusion of oop.inline.hpp. +bool oopDesc::is_instance_noinline() const { return is_instance(); } +bool oopDesc::is_instanceMirror_noinline() const { return is_instanceMirror(); } +bool oopDesc::is_instanceClassLoader_noline() const { return is_instanceClassLoader(); } +bool oopDesc::is_instanceRef_noline() const { return is_instanceRef(); } +bool oopDesc::is_array_noinline() const { return is_array(); } +bool oopDesc::is_objArray_noinline() const { return is_objArray(); } +bool oopDesc::is_typeArray_noinline() const { return is_typeArray(); } + +bool oopDesc::has_klass_gap() { + // Only has a klass gap when compressed class pointers are used. + return UseCompressedClassPointers; +} diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/oop.hpp --- a/hotspot/src/share/vm/oops/oop.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/oops/oop.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -108,7 +108,7 @@ // to be able to figure out the size of an object knowing its klass. int size_given_klass(Klass* klass); - // type test operations (inlined in oop.inline.h) + // type test operations (inlined in oop.inline.hpp) bool is_instance() const; bool is_instanceMirror() const; bool is_instanceClassLoader() const; @@ -117,6 +117,15 @@ bool is_objArray() const; bool is_typeArray() const; + // type test operations that don't require inclusion of oop.inline.hpp. + bool is_instance_noinline() const; + bool is_instanceMirror_noinline() const; + bool is_instanceClassLoader_noline() const; + bool is_instanceRef_noline() const; + bool is_array_noinline() const; + bool is_objArray_noinline() const; + bool is_typeArray_noinline() const; + private: // field addresses in oop void* field_base(int offset) const; @@ -370,10 +379,15 @@ markOop displaced_mark() const; void set_displaced_mark(markOop m); + static bool has_klass_gap(); + // for code generation - static int mark_offset_in_bytes() { return offset_of(oopDesc, _mark); } - static int klass_offset_in_bytes() { return offset_of(oopDesc, _metadata._klass); } - static int klass_gap_offset_in_bytes(); + static int mark_offset_in_bytes() { return offset_of(oopDesc, _mark); } + static int klass_offset_in_bytes() { return offset_of(oopDesc, _metadata._klass); } + static int klass_gap_offset_in_bytes() { + assert(has_klass_gap(), "only applicable to compressed klass pointers"); + return klass_offset_in_bytes() + sizeof(narrowKlass); + } }; #endif // SHARE_VM_OOPS_OOP_HPP diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/oop.inline.hpp --- a/hotspot/src/share/vm/oops/oop.inline.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/oops/oop.inline.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -71,11 +71,6 @@ } } -inline int oopDesc::klass_gap_offset_in_bytes() { - assert(UseCompressedClassPointers, "only applicable to compressed klass pointers"); - return oopDesc::klass_offset_in_bytes() + sizeof(narrowKlass); -} - inline Klass** oopDesc::klass_addr() { // Only used internally and with CMS and will not work with // UseCompressedOops @@ -602,8 +597,11 @@ klass()->oop_follow_contents(this); } +inline bool oopDesc::is_scavengable() const { + return Universe::heap()->is_scavengable(this); +} + // Used by scavengers - inline bool oopDesc::is_forwarded() const { // The extra heap check is needed since the obj might be locked, in which case the // mark would point to a stack location and have the sentinel bit cleared diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/oops/oop.inline2.hpp --- a/hotspot/src/share/vm/oops/oop.inline2.hpp Tue Feb 10 17:16:17 2015 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2000, 2012, 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. - * - */ - -#ifndef SHARE_VM_OOPS_OOP_INLINE2_HPP -#define SHARE_VM_OOPS_OOP_INLINE2_HPP - -#include "gc_interface/collectedHeap.hpp" -#include "memory/generation.hpp" -#include "memory/universe.hpp" -#include "oops/oop.hpp" - -// Implementation of all inlined member functions defined in oop.hpp -// We need a separate file to avoid circular references - -inline bool oopDesc::is_scavengable() const { - return Universe::heap()->is_scavengable(this); -} -#endif // SHARE_VM_OOPS_OOP_INLINE2_HPP diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/opto/callGenerator.cpp --- a/hotspot/src/share/vm/opto/callGenerator.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/opto/callGenerator.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, 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 @@ -39,7 +39,7 @@ #include "opto/rootnode.hpp" #include "opto/runtime.hpp" #include "opto/subnode.hpp" - +#include "runtime/sharedRuntime.hpp" // Utility function. const TypeFunc* CallGenerator::tf() const { diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/opto/compile.cpp --- a/hotspot/src/share/vm/opto/compile.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/opto/compile.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -64,6 +64,7 @@ #include "opto/type.hpp" #include "opto/vectornode.hpp" #include "runtime/arguments.hpp" +#include "runtime/sharedRuntime.hpp" #include "runtime/signature.hpp" #include "runtime/stubRoutines.hpp" #include "runtime/timer.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/opto/convertnode.cpp --- a/hotspot/src/share/vm/opto/convertnode.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/opto/convertnode.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2015, 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 @@ -28,6 +28,7 @@ #include "opto/matcher.hpp" #include "opto/phaseX.hpp" #include "opto/subnode.hpp" +#include "runtime/sharedRuntime.hpp" //============================================================================= //------------------------------Identity--------------------------------------- diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/opto/graphKit.cpp --- a/hotspot/src/share/vm/opto/graphKit.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/opto/graphKit.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2015, 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 @@ -3747,6 +3747,17 @@ sync_kit(ideal); } +Node* GraphKit::byte_map_base_node() { + // Get base of card map + CardTableModRefBS* ct = (CardTableModRefBS*)(Universe::heap()->barrier_set()); + assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust users of this code"); + if (ct->byte_map_base != NULL) { + return makecon(TypeRawPtr::make((address)ct->byte_map_base)); + } else { + return null(); + } +} + // vanilla/CMS post barrier // Insert a write-barrier store. This is to let generational GC work; we have // to flag all oop-stores before the next GC point. diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/opto/graphKit.hpp --- a/hotspot/src/share/vm/opto/graphKit.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/opto/graphKit.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2015, 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 @@ -104,16 +104,7 @@ // (See also macro MakeConX in type.hpp, which uses intcon or longcon.) // Helper for byte_map_base - Node* byte_map_base_node() { - // Get base of card map - CardTableModRefBS* ct = (CardTableModRefBS*)(Universe::heap()->barrier_set()); - assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust users of this code"); - if (ct->byte_map_base != NULL) { - return makecon(TypeRawPtr::make((address)ct->byte_map_base)); - } else { - return null(); - } - } + Node* byte_map_base_node(); jint find_int_con(Node* n, jint value_if_unknown) { return _gvn.find_int_con(n, value_if_unknown); diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/opto/lcm.cpp --- a/hotspot/src/share/vm/opto/lcm.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/opto/lcm.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2015, 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 @@ -31,6 +31,7 @@ #include "opto/cfgnode.hpp" #include "opto/machnode.hpp" #include "opto/runtime.hpp" +#include "runtime/sharedRuntime.hpp" // Optimization - Graph Style diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/opto/matcher.cpp --- a/hotspot/src/share/vm/opto/matcher.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/opto/matcher.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -38,6 +38,7 @@ #include "opto/type.hpp" #include "opto/vectornode.hpp" #include "runtime/os.hpp" +#include "runtime/sharedRuntime.hpp" OptoReg::Name OptoReg::c_frame_pointer; diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/opto/memnode.cpp --- a/hotspot/src/share/vm/opto/memnode.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/opto/memnode.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, 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 @@ -40,6 +40,7 @@ #include "opto/narrowptrnode.hpp" #include "opto/phaseX.hpp" #include "opto/regmask.hpp" +#include "utilities/copy.hpp" // Portions of code courtesy of Clifford Click diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/opto/parse2.cpp --- a/hotspot/src/share/vm/opto/parse2.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/opto/parse2.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2015, 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 @@ -29,6 +29,7 @@ #include "compiler/compileLog.hpp" #include "interpreter/linkResolver.hpp" #include "memory/universe.inline.hpp" +#include "oops/oop.inline.hpp" #include "opto/addnode.hpp" #include "opto/castnode.hpp" #include "opto/convertnode.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/opto/stringopts.cpp --- a/hotspot/src/share/vm/opto/stringopts.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/opto/stringopts.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 2015, 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 @@ -34,6 +34,7 @@ #include "opto/runtime.hpp" #include "opto/stringopts.hpp" #include "opto/subnode.hpp" +#include "runtime/sharedRuntime.hpp" #define __ kit. diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/precompiled/precompiled.hpp --- a/hotspot/src/share/vm/precompiled/precompiled.hpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/precompiled/precompiled.hpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2015, 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 @@ -160,8 +160,6 @@ # include "oops/objArrayKlass.hpp" # include "oops/objArrayOop.hpp" # include "oops/oop.hpp" -# include "oops/oop.inline.hpp" -# include "oops/oop.inline2.hpp" # include "oops/oopsHierarchy.hpp" # include "oops/symbol.hpp" # include "oops/typeArrayKlass.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/prims/forte.cpp --- a/hotspot/src/share/vm/prims/forte.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/prims/forte.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, 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 @@ -29,7 +29,6 @@ #include "memory/space.hpp" #include "memory/universe.inline.hpp" #include "oops/oop.inline.hpp" -#include "oops/oop.inline2.hpp" #include "prims/forte.hpp" #include "runtime/javaCalls.hpp" #include "runtime/thread.inline.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/prims/jni.cpp --- a/hotspot/src/share/vm/prims/jni.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/prims/jni.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -42,7 +42,7 @@ #include "oops/markOop.hpp" #include "oops/method.hpp" #include "oops/objArrayKlass.hpp" -#include "oops/objArrayOop.hpp" +#include "oops/objArrayOop.inline.hpp" #include "oops/oop.inline.hpp" #include "oops/symbol.hpp" #include "oops/typeArrayKlass.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/prims/jniCheck.cpp --- a/hotspot/src/share/vm/prims/jniCheck.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/prims/jniCheck.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2015, 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 @@ -23,6 +23,7 @@ */ #include "precompiled.hpp" +#include "classfile/javaClasses.inline.hpp" #include "classfile/systemDictionary.hpp" #include "classfile/vmSymbols.hpp" #include "memory/guardedMemory.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/prims/jvm.cpp --- a/hotspot/src/share/vm/prims/jvm.cpp Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/prims/jvm.cpp Fri Feb 13 14:37:35 2015 +0100 @@ -25,18 +25,21 @@ #include "precompiled.hpp" #include "classfile/classLoader.hpp" #include "classfile/javaAssertions.hpp" -#include "classfile/javaClasses.hpp" +#include "classfile/javaClasses.inline.hpp" #include "classfile/stringTable.hpp" #include "classfile/systemDictionary.hpp" #include "classfile/vmSymbols.hpp" #include "gc_interface/collectedHeap.inline.hpp" #include "interpreter/bytecode.hpp" +#include "memory/barrierSet.inline.hpp" #include "memory/oopFactory.hpp" #include "memory/universe.inline.hpp" #include "oops/fieldStreams.hpp" #include "oops/instanceKlass.hpp" #include "oops/objArrayKlass.hpp" +#include "oops/objArrayOop.inline.hpp" #include "oops/method.hpp" +#include "oops/oop.inline.hpp" #include "prims/jvm.h" #include "prims/jvm_misc.hpp" #include "prims/jvmtiExport.hpp" diff -r a16b0d9a08f5 -r c61eb4914428 hotspot/src/share/vm/prims/jvmtiEnter.xsl --- a/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Feb 10 17:16:17 2015 +0100 +++ b/hotspot/src/share/vm/prims/jvmtiEnter.xsl Fri Feb 13 14:37:35 2015 +0100 @@ -1,6 +1,6 @@