Wed, 13 Mar 2013 09:44:45 +0100
8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates
Summary: deoptimization doesn't set up callee frames so that they restore caller frames correctly.
Reviewed-by: kvn
1 #
2 # Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation.
8 #
9 # This code is distributed in the hope that it will be useful, but WITHOUT
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 # version 2 for more details (a copy is included in the LICENSE file that
13 # accompanied this code).
14 #
15 # You should have received a copy of the GNU General Public License version
16 # 2 along with this work; if not, write to the Free Software Foundation,
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 #
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 # or visit www.oracle.com if you need additional information or have any
21 # questions.
22 #
23 #
24 ifeq ($(INCLUDE_JVMTI), false)
25 CXXFLAGS += -DINCLUDE_JVMTI=0
26 CFLAGS += -DINCLUDE_JVMTI=0
28 Src_Files_EXCLUDE += jvmtiGetLoadedClasses.cpp forte.cpp jvmtiThreadState.cpp jvmtiExtensions.cpp \
29 jvmtiImpl.cpp jvmtiManageCapabilities.cpp jvmtiRawMonitor.cpp jvmtiUtil.cpp jvmtiTrace.cpp \
30 jvmtiCodeBlobEvents.cpp jvmtiEnv.cpp jvmtiRedefineClasses.cpp jvmtiEnvBase.cpp jvmtiEnvThreadState.cpp \
31 jvmtiTagMap.cpp jvmtiEventController.cpp evmCompat.cpp jvmtiEnter.xsl jvmtiExport.cpp
32 endif
34 ifeq ($(INCLUDE_FPROF), false)
35 CXXFLAGS += -DINCLUDE_FPROF=0
36 CFLAGS += -DINCLUDE_FPROF=0
38 Src_Files_EXCLUDE += fprofiler.cpp
39 endif
41 ifeq ($(INCLUDE_VM_STRUCTS), false)
42 CXXFLAGS += -DINCLUDE_VM_STRUCTS=0
43 CFLAGS += -DINCLUDE_VM_STRUCTS=0
45 Src_Files_EXCLUDE += vmStructs.cpp
46 endif
48 ifeq ($(INCLUDE_JNI_CHECK), false)
49 CXXFLAGS += -DINCLUDE_JNI_CHECK=0
50 CFLAGS += -DINCLUDE_JNI_CHECK=0
52 Src_Files_EXCLUDE += jniCheck.cpp
53 endif
55 ifeq ($(INCLUDE_SERVICES), false)
56 CXXFLAGS += -DINCLUDE_SERVICES=0
57 CFLAGS += -DINCLUDE_SERVICES=0
59 Src_Files_EXCLUDE += heapDumper.cpp heapInspection.cpp \
60 attachListener_linux.cpp attachListener.cpp
61 endif
63 ifeq ($(INCLUDE_MANAGEMENT), false)
64 CXXFLAGS += -DINCLUDE_MANAGEMENT=0
65 CFLAGS += -DINCLUDE_MANAGEMENT=0
66 endif
68 ifeq ($(INCLUDE_CDS), false)
69 CXXFLAGS += -DINCLUDE_CDS=0
70 CFLAGS += -DINCLUDE_CDS=0
72 Src_Files_EXCLUDE += metaspaceShared.cpp
73 endif
75 ifeq ($(INCLUDE_ALL_GCS), false)
76 CXXFLAGS += -DINCLUDE_ALL_GCS=0
77 CFLAGS += -DINCLUDE_ALL_GCS=0
79 Src_Files_EXCLUDE += \
80 cmsAdaptiveSizePolicy.cpp cmsCollectorPolicy.cpp \
81 cmsGCAdaptivePolicyCounters.cpp cmsLockVerifier.cpp compactibleFreeListSpace.cpp \
82 concurrentMarkSweepGeneration.cpp concurrentMarkSweepThread.cpp \
83 freeChunk.cpp adaptiveFreeList.cpp promotionInfo.cpp vmCMSOperations.cpp collectionSetChooser.cpp \
84 concurrentG1Refine.cpp concurrentG1RefineThread.cpp concurrentMark.cpp concurrentMarkThread.cpp \
85 dirtyCardQueue.cpp g1AllocRegion.cpp g1BlockOffsetTable.cpp g1CollectedHeap.cpp g1GCPhaseTimes.cpp \
86 g1CollectorPolicy.cpp g1ErgoVerbose.cpp g1_globals.cpp g1HRPrinter.cpp g1MarkSweep.cpp \
87 g1MMUTracker.cpp g1MonitoringSupport.cpp g1RemSet.cpp g1SATBCardTableModRefBS.cpp heapRegion.cpp \
88 heapRegionRemSet.cpp heapRegionSeq.cpp heapRegionSet.cpp heapRegionSets.cpp ptrQueue.cpp \
89 satbQueue.cpp sparsePRT.cpp survRateGroup.cpp vm_operations_g1.cpp adjoiningGenerations.cpp \
90 adjoiningVirtualSpaces.cpp asPSOldGen.cpp asPSYoungGen.cpp cardTableExtension.cpp \
91 gcTaskManager.cpp gcTaskThread.cpp objectStartArray.cpp parallelScavengeHeap.cpp parMarkBitMap.cpp \
92 pcTasks.cpp psAdaptiveSizePolicy.cpp psCompactionManager.cpp psGCAdaptivePolicyCounters.cpp \
93 psGenerationCounters.cpp psMarkSweep.cpp psMarkSweepDecorator.cpp psOldGen.cpp psParallelCompact.cpp \
94 psPromotionLAB.cpp psPromotionManager.cpp psScavenge.cpp psTasks.cpp psVirtualspace.cpp \
95 psYoungGen.cpp vmPSOperations.cpp asParNewGeneration.cpp parCardTableModRefBS.cpp \
96 parGCAllocBuffer.cpp parNewGeneration.cpp mutableSpace.cpp gSpaceCounters.cpp allocationStats.cpp \
97 spaceCounters.cpp gcAdaptivePolicyCounters.cpp mutableNUMASpace.cpp immutableSpace.cpp \
98 immutableSpace.cpp g1MemoryPool.cpp psMemoryPool.cpp yieldingWorkGroup.cpp g1Log.cpp
99 endif
101 ifeq ($(INCLUDE_NMT), false)
102 CXXFLAGS += -DINCLUDE_NMT=0
103 CFLAGS += -DINCLUDE_NMT=0
105 Src_Files_EXCLUDE += \
106 memBaseline.cpp memPtr.cpp memRecorder.cpp memReporter.cpp memSnapshot.cpp memTrackWorker.cpp \
107 memTracker.cpp nmtDCmd.cpp
108 endif