6826736: CMS: core dump with -XX:+UseCompressedOops
Summary: Fix deoptimization code and OopMapSet::all_do() to check for oop = narrow_oop_base.
Reviewed-by: jcoomes, phh, ysr, never
//
// Copyright 2007-2009 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
// CA 95054 USA or visit www.sun.com if you need additional information or
// have any questions.
//
//
attachListener.cpp arguments.hpp
attachListener.cpp attachListener.hpp
attachListener.cpp globals.hpp
attachListener.cpp heapDumper.hpp
attachListener.cpp java.hpp
attachListener.cpp javaCalls.hpp
attachListener.cpp javaClasses.hpp
attachListener.cpp jvmtiExport.hpp
attachListener.cpp os.hpp
attachListener.cpp resourceArea.hpp
attachListener.cpp systemDictionary.hpp
attachListener.cpp vmGCOperations.hpp
attachListener_<os_family>.cpp attachListener.hpp
attachListener_<os_family>.cpp dtraceAttacher.hpp
attachListener_<os_family>.cpp interfaceSupport.hpp
attachListener_<os_family>.cpp os.hpp
dump.cpp classify.hpp
dump.cpp copy.hpp
dump.cpp filemap.hpp
dump.cpp javaCalls.hpp
dump.cpp javaClasses.hpp
dump.cpp loaderConstraints.hpp
dump.cpp methodDataOop.hpp
dump.cpp oop.hpp
dump.cpp oopFactory.hpp
dump.cpp resourceArea.hpp
dump.cpp signature.hpp
dump.cpp spaceDecorator.hpp
dump.cpp symbolTable.hpp
dump.cpp systemDictionary.hpp
dump.cpp vmThread.hpp
dump.cpp vm_operations.hpp
dump_<arch_model>.cpp assembler_<arch>.inline.hpp
dump_<arch_model>.cpp compactingPermGenGen.hpp
dump_<arch_model>.cpp generation.inline.hpp
dump_<arch_model>.cpp space.inline.hpp
forte.cpp collectedHeap.inline.hpp
forte.cpp debugInfoRec.hpp
forte.cpp forte.hpp
forte.cpp oop.inline.hpp
forte.cpp oop.inline2.hpp
forte.cpp pcDesc.hpp
forte.cpp space.hpp
forte.cpp thread.hpp
forte.cpp universe.inline.hpp
forte.cpp vframe.hpp
forte.cpp vframeArray.hpp
fprofiler.cpp allocation.inline.hpp
fprofiler.cpp classLoader.hpp
fprofiler.cpp collectedHeap.inline.hpp
fprofiler.cpp deoptimization.hpp
fprofiler.cpp fprofiler.hpp
fprofiler.cpp interpreter.hpp
fprofiler.cpp macros.hpp
fprofiler.cpp mutexLocker.hpp
fprofiler.cpp oop.inline.hpp
fprofiler.cpp oop.inline2.hpp
fprofiler.cpp stubCodeGenerator.hpp
fprofiler.cpp stubRoutines.hpp
fprofiler.cpp symbolOop.hpp
fprofiler.cpp task.hpp
fprofiler.cpp universe.inline.hpp
fprofiler.cpp vframe.hpp
fprofiler.cpp vtableStubs.hpp
heapDumper.cpp genCollectedHeap.hpp
heapDumper.cpp heapDumper.hpp
heapDumper.cpp javaCalls.hpp
heapDumper.cpp jniHandles.hpp
heapDumper.cpp objArrayKlass.hpp
heapDumper.cpp ostream.hpp
heapDumper.cpp reflectionUtils.hpp
heapDumper.cpp symbolTable.hpp
heapDumper.cpp systemDictionary.hpp
heapDumper.cpp threadService.hpp
heapDumper.cpp universe.hpp
heapDumper.cpp vframe.hpp
heapDumper.cpp vmGCOperations.hpp
heapDumper.cpp vmSymbols.hpp
heapDumper.cpp vmThread.hpp
heapDumper.cpp vm_operations.hpp
heapInspection.cpp collectedHeap.hpp
heapInspection.cpp genCollectedHeap.hpp
heapInspection.cpp globalDefinitions.hpp
heapInspection.cpp heapInspection.hpp
heapInspection.cpp klassOop.hpp
heapInspection.cpp os.hpp
heapInspection.cpp resourceArea.hpp
javaCalls.cpp jniCheck.hpp
jniCheck.cpp fieldDescriptor.hpp
jniCheck.cpp handles.hpp
jniCheck.cpp instanceKlass.hpp
jniCheck.cpp interfaceSupport.hpp
jniCheck.cpp jfieldIDWorkaround.hpp
jniCheck.cpp jni.h
jniCheck.cpp jniCheck.hpp
jniCheck.cpp jniTypes_<arch>.hpp
jniCheck.cpp jvm_misc.hpp
jniCheck.cpp oop.inline.hpp
jniCheck.cpp symbolOop.hpp
jniCheck.cpp systemDictionary.hpp
jniCheck.cpp thread.hpp
jniCheck.cpp vmSymbols.hpp
jvmtiCodeBlobEvents.cpp codeBlob.hpp
jvmtiCodeBlobEvents.cpp codeCache.hpp
jvmtiCodeBlobEvents.cpp handles.hpp
jvmtiCodeBlobEvents.cpp handles.inline.hpp
jvmtiCodeBlobEvents.cpp jvmtiCodeBlobEvents.hpp
jvmtiCodeBlobEvents.cpp jvmtiExport.hpp
jvmtiCodeBlobEvents.cpp oop.inline.hpp
jvmtiCodeBlobEvents.cpp resourceArea.hpp
jvmtiCodeBlobEvents.cpp scopeDesc.hpp
jvmtiCodeBlobEvents.cpp vmThread.hpp
jvmtiCodeBlobEvents.hpp jvmti.h
jvmtiExtensions.cpp jvmtiExport.hpp
jvmtiExtensions.cpp jvmtiExtensions.hpp
jvmtiExtensions.hpp allocation.hpp
jvmtiExtensions.hpp jvmti.h
jvmtiExtensions.hpp jvmtiEnv.hpp
jvmtiImpl.cpp exceptions.hpp
jvmtiImpl.cpp handles.hpp
jvmtiImpl.cpp handles.inline.hpp
jvmtiImpl.cpp instanceKlass.hpp
jvmtiImpl.cpp interfaceSupport.hpp
jvmtiImpl.cpp interpreter.hpp
jvmtiImpl.cpp javaCalls.hpp
jvmtiImpl.cpp jvmtiAgentThread.hpp
jvmtiImpl.cpp jvmtiEnv.hpp
jvmtiImpl.cpp jvmtiEventController.inline.hpp
jvmtiImpl.cpp jvmtiImpl.hpp
jvmtiImpl.cpp jvmtiRedefineClasses.hpp
jvmtiImpl.cpp resourceArea.hpp
jvmtiImpl.cpp signature.hpp
jvmtiImpl.cpp systemDictionary.hpp
jvmtiImpl.cpp thread_<os_family>.inline.hpp
jvmtiImpl.cpp vframe.hpp
jvmtiImpl.cpp vframe_hp.hpp
jvmtiImpl.cpp vm_operations.hpp
jvmtiImpl.hpp jvmti.h
jvmtiImpl.hpp jvmtiEnvThreadState.hpp
jvmtiImpl.hpp jvmtiEventController.hpp
jvmtiImpl.hpp jvmtiTrace.hpp
jvmtiImpl.hpp jvmtiUtil.hpp
jvmtiImpl.hpp objArrayOop.hpp
jvmtiImpl.hpp stackValueCollection.hpp
jvmtiImpl.hpp systemDictionary.hpp
jvmtiImpl.hpp vm_operations.hpp
jvmtiTagMap.cpp biasedLocking.hpp
jvmtiTagMap.cpp javaCalls.hpp
jvmtiTagMap.cpp jniHandles.hpp
jvmtiTagMap.cpp jvmtiEnv.hpp
jvmtiTagMap.cpp jvmtiEventController.hpp
jvmtiTagMap.cpp jvmtiEventController.inline.hpp
jvmtiTagMap.cpp jvmtiExport.hpp
jvmtiTagMap.cpp jvmtiImpl.hpp
jvmtiTagMap.cpp jvmtiTagMap.hpp
jvmtiTagMap.cpp mutex.hpp
jvmtiTagMap.cpp mutexLocker.hpp
jvmtiTagMap.cpp objArrayKlass.hpp
jvmtiTagMap.cpp oop.inline2.hpp
jvmtiTagMap.cpp reflectionUtils.hpp
jvmtiTagMap.cpp serviceUtil.hpp
jvmtiTagMap.cpp symbolTable.hpp
jvmtiTagMap.cpp systemDictionary.hpp
jvmtiTagMap.cpp vframe.hpp
jvmtiTagMap.cpp vmSymbols.hpp
jvmtiTagMap.cpp vmThread.hpp
jvmtiTagMap.cpp vm_operations.hpp
jvmtiTagMap.hpp allocation.hpp
jvmtiTagMap.hpp collectedHeap.hpp
jvmtiTagMap.hpp genCollectedHeap.hpp
jvmtiTagMap.hpp jvmti.h
jvmtiTagMap.hpp jvmtiEnv.hpp
jvmtiTagMap.hpp universe.hpp
jvmtiTrace.cpp jvmtiEnv.hpp
jvmtiTrace.cpp jvmtiTrace.hpp
jvmtiTrace.hpp jvmti.h
jvmtiTrace.hpp jvmtiEnvThreadState.hpp
jvmtiTrace.hpp jvmtiEventController.hpp
jvmtiTrace.hpp jvmtiUtil.hpp
jvmtiTrace.hpp objArrayOop.hpp
jvmtiTrace.hpp stackValueCollection.hpp
jvmtiTrace.hpp systemDictionary.hpp
jvmtiTrace.hpp vm_operations.hpp
restore.cpp filemap.hpp
restore.cpp hashtable.inline.hpp
restore.cpp oop.inline.hpp
restore.cpp symbolTable.hpp
restore.cpp systemDictionary.hpp
serialize.cpp classify.hpp
serialize.cpp codeCache.hpp
serialize.cpp compactingPermGenGen.hpp
serialize.cpp compiledICHolderOop.hpp
serialize.cpp methodDataOop.hpp
serialize.cpp objArrayOop.hpp
serialize.cpp oop.hpp
serialize.cpp symbolTable.hpp
serialize.cpp systemDictionary.hpp
vmStructs.cpp arguments.hpp
vmStructs.cpp arrayKlass.hpp
vmStructs.cpp arrayKlassKlass.hpp
vmStructs.cpp arrayOop.hpp
vmStructs.cpp bytecodes.hpp
vmStructs.cpp bytecodeInterpreter.hpp
vmStructs.cpp cardTableRS.hpp
vmStructs.cpp codeBlob.hpp
vmStructs.cpp codeCache.hpp
vmStructs.cpp collectedHeap.hpp
vmStructs.cpp compactPermGen.hpp
vmStructs.cpp compiledICHolderKlass.hpp
vmStructs.cpp compiledICHolderOop.hpp
vmStructs.cpp compressedStream.hpp
vmStructs.cpp constMethodKlass.hpp
vmStructs.cpp constMethodOop.hpp
vmStructs.cpp constantPoolKlass.hpp
vmStructs.cpp constantPoolOop.hpp
vmStructs.cpp cpCacheKlass.hpp
vmStructs.cpp cpCacheOop.hpp
vmStructs.cpp defNewGeneration.hpp
vmStructs.cpp dictionary.hpp
vmStructs.cpp freeBlockDictionary.hpp
vmStructs.cpp genCollectedHeap.hpp
vmStructs.cpp generation.hpp
vmStructs.cpp generationSpec.hpp
vmStructs.cpp globalDefinitions.hpp
vmStructs.cpp globals.hpp
vmStructs.cpp hashtable.hpp
vmStructs.cpp heap.hpp
vmStructs.cpp immutableSpace.hpp
vmStructs.cpp instanceKlass.hpp
vmStructs.cpp instanceKlassKlass.hpp
vmStructs.cpp instanceOop.hpp
vmStructs.cpp interpreter.hpp
vmStructs.cpp java.hpp
vmStructs.cpp javaCalls.hpp
vmStructs.cpp javaClasses.hpp
vmStructs.cpp jvmtiAgentThread.hpp
vmStructs.cpp klass.hpp
vmStructs.cpp klassOop.hpp
vmStructs.cpp loaderConstraints.hpp
vmStructs.cpp location.hpp
vmStructs.cpp markOop.hpp
vmStructs.cpp markSweep.hpp
vmStructs.cpp methodDataKlass.hpp
vmStructs.cpp methodDataOop.hpp
vmStructs.cpp methodKlass.hpp
vmStructs.cpp methodOop.hpp
vmStructs.cpp mutableSpace.hpp
vmStructs.cpp nmethod.hpp
vmStructs.cpp objArrayKlass.hpp
vmStructs.cpp objArrayKlassKlass.hpp
vmStructs.cpp objArrayOop.hpp
vmStructs.cpp oop.hpp
vmStructs.cpp oopMap.hpp
vmStructs.cpp pcDesc.hpp
vmStructs.cpp perfMemory.hpp
vmStructs.cpp permGen.hpp
vmStructs.cpp placeholders.hpp
vmStructs.cpp sharedRuntime.hpp
vmStructs.cpp space.hpp
vmStructs.cpp stubRoutines.hpp
vmStructs.cpp stubs.hpp
vmStructs.cpp symbolKlass.hpp
vmStructs.cpp symbolOop.hpp
vmStructs.cpp symbolTable.hpp
vmStructs.cpp systemDictionary.hpp
vmStructs.cpp tenuredGeneration.hpp
vmStructs.cpp thread_<os_family>.inline.hpp
vmStructs.cpp typeArrayKlass.hpp
vmStructs.cpp typeArrayKlassKlass.hpp
vmStructs.cpp typeArrayOop.hpp
vmStructs.cpp universe.hpp
vmStructs.cpp virtualspace.hpp
vmStructs.cpp vmStructs.hpp
vmStructs.cpp vmStructs_<arch>.hpp
vmStructs.cpp vmStructs_<os_arch>.hpp
vmStructs.cpp vmreg.hpp
vmStructs.cpp watermark.hpp
vmStructs.hpp debug.hpp