1 /*
2 * Copyright (c) 2003, 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 *
38 #define protected public
39
40 #include <proc_service.h>
41 #include "code/codeBlob.hpp"
42 #include "code/nmethod.hpp"
43 #include "code/pcDesc.hpp"
44 #include "gc_interface/collectedHeap.hpp"
45 #include "memory/heap.hpp"
46 #include "memory/memRegion.hpp"
47 #include "memory/universe.hpp"
48 #include "oops/constMethod.hpp"
49 #include "oops/klass.hpp"
50 #include "oops/method.hpp"
51 #include "oops/oop.hpp"
52 #include "oops/symbol.hpp"
53 #include "runtime/virtualspace.hpp"
54 #include "runtime/vmStructs.hpp"
55 #include "utilities/accessFlags.hpp"
56 #include "utilities/globalDefinitions.hpp"
57 #ifdef COMPILER1
58 #if defined(DEBUG) || defined(FASTDEBUG)
59
60 /*
61 * To avoid the most part of potential link errors
62 * we link this program with -z nodefs .
63 *
64 * But for 'debug1' and 'fastdebug1' we still have to provide
65 * a particular workaround for the following symbols bellow.
66 * It will be good to find out a generic way in the future.
67 */
68
69 #pragma weak tty
70 #pragma weak CMSExpAvgFactor
71
72 #if defined(i386) || defined(__i386) || defined(__amd64)
73 #pragma weak noreg
74 #endif /* i386 */
75
76 LIR_Opr LIR_OprFact::illegalOpr = (LIR_Opr) 0;
77
78 address StubRoutines::_call_stub_return_address = NULL;
79
80 StubQueue* AbstractInterpreter::_code = NULL;
81
82 #endif /* defined(DEBUG) || defined(FASTDEBUG) */
83 #endif /* COMPILER1 */
84
85 #define GEN_OFFS(Type,Name) \
86 switch(gen_variant) { \
87 case GEN_OFFSET: \
88 printf("#define OFFSET_%-33s %d\n", \
89 #Type #Name, offset_of(Type, Name)); \
90 break; \
91 case GEN_INDEX: \
92 printf("#define IDX_OFFSET_%-33s %d\n", \
93 #Type #Name, index++); \
94 break; \
95 case GEN_TABLE: \
96 printf("\tOFFSET_%s,\n", #Type #Name); \
97 break; \
98 }
99
100 #define GEN_SIZE(Type) \
101 switch(gen_variant) { \
102 case GEN_OFFSET: \
|
1 /*
2 * Copyright (c) 2003, 2013, 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 *
38 #define protected public
39
40 #include <proc_service.h>
41 #include "code/codeBlob.hpp"
42 #include "code/nmethod.hpp"
43 #include "code/pcDesc.hpp"
44 #include "gc_interface/collectedHeap.hpp"
45 #include "memory/heap.hpp"
46 #include "memory/memRegion.hpp"
47 #include "memory/universe.hpp"
48 #include "oops/constMethod.hpp"
49 #include "oops/klass.hpp"
50 #include "oops/method.hpp"
51 #include "oops/oop.hpp"
52 #include "oops/symbol.hpp"
53 #include "runtime/virtualspace.hpp"
54 #include "runtime/vmStructs.hpp"
55 #include "utilities/accessFlags.hpp"
56 #include "utilities/globalDefinitions.hpp"
57 #ifdef COMPILER1
58 #ifdef ASSERT
59
60 /*
61 * To avoid the most part of potential link errors
62 * we link this program with -z nodefs .
63 *
64 * But for 'debug1' and 'fastdebug1' we still have to provide
65 * a particular workaround for the following symbols below.
66 * It will be good to find out a generic way in the future.
67 */
68
69 #pragma weak tty
70 #pragma weak CMSExpAvgFactor
71
72 #if defined(i386) || defined(__i386) || defined(__amd64)
73 #pragma weak noreg
74 #endif /* i386 */
75
76 LIR_Opr LIR_OprFact::illegalOpr = (LIR_Opr) 0;
77
78 address StubRoutines::_call_stub_return_address = NULL;
79
80 StubQueue* AbstractInterpreter::_code = NULL;
81
82 #endif /* ASSERT */
83 #endif /* COMPILER1 */
84
85 #define GEN_OFFS(Type,Name) \
86 switch(gen_variant) { \
87 case GEN_OFFSET: \
88 printf("#define OFFSET_%-33s %d\n", \
89 #Type #Name, offset_of(Type, Name)); \
90 break; \
91 case GEN_INDEX: \
92 printf("#define IDX_OFFSET_%-33s %d\n", \
93 #Type #Name, index++); \
94 break; \
95 case GEN_TABLE: \
96 printf("\tOFFSET_%s,\n", #Type #Name); \
97 break; \
98 }
99
100 #define GEN_SIZE(Type) \
101 switch(gen_variant) { \
102 case GEN_OFFSET: \
|