comparison src/share/vm/shark/llvmHeaders.hpp @ 1692:d2ede61b7a12

6976186: integrate Shark HotSpot changes Summary: Shark is a JIT compiler for Zero that uses the LLVM compiler infrastructure. Reviewed-by: kvn, twisti Contributed-by: Gary Benson <gbenson@redhat.com>
author twisti
date Wed, 11 Aug 2010 05:51:21 -0700
parents
children f95d63e2154a
comparison
equal deleted inserted replaced
1691:4a665be40fd3 1692:d2ede61b7a12
1 /*
2 * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
3 * Copyright 2008, 2009, 2010 Red Hat, Inc.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *
6 * This code is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 only, as
8 * published by the Free Software Foundation.
9 *
10 * This code is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #ifdef assert
27 #undef assert
28 #endif
29
30 #ifdef DEBUG
31 #define SHARK_DEBUG
32 #undef DEBUG
33 #endif
34
35 #include <llvm/Argument.h>
36 #include <llvm/Constants.h>
37 #include <llvm/DerivedTypes.h>
38 #include <llvm/ExecutionEngine/ExecutionEngine.h>
39 #include <llvm/Instructions.h>
40 #include <llvm/LLVMContext.h>
41 #include <llvm/Module.h>
42 #if SHARK_LLVM_VERSION < 27
43 #include <llvm/ModuleProvider.h>
44 #endif
45 #include <llvm/Support/IRBuilder.h>
46 #include <llvm/System/Threading.h>
47 #include <llvm/Target/TargetSelect.h>
48 #include <llvm/Type.h>
49 #include <llvm/ExecutionEngine/JITMemoryManager.h>
50 #include <llvm/Support/CommandLine.h>
51 #if SHARK_LLVM_VERSION >= 27
52 #include <llvm/ExecutionEngine/JIT.h>
53 #include <llvm/ADT/StringMap.h>
54 #include <llvm/Support/Debug.h>
55 #include <llvm/System/Host.h>
56 #endif
57
58 #include <map>
59
60 #ifdef assert
61 #undef assert
62 #endif
63
64 // from hotspot/src/share/vm/utilities/debug.hpp
65 #ifdef ASSERT
66 #ifndef USE_REPEATED_ASSERTS
67 #define assert(p, msg) \
68 do { \
69 if (!(p)) { \
70 report_vm_error(__FILE__, __LINE__, "assert(" #p ") failed", msg); \
71 BREAKPOINT; \
72 } \
73 } while (0)
74 #else // #ifndef USE_REPEATED_ASSERTS
75 #define assert(p, msg)
76 do { \
77 for (int __i = 0; __i < AssertRepeat; __i++) { \
78 if (!(p)) { \
79 report_vm_error(__FILE__, __LINE__, "assert(" #p ") failed", msg); \
80 BREAKPOINT; \
81 } \
82 } \
83 } while (0)
84 #endif // #ifndef USE_REPEATED_ASSERTS
85 #else
86 #define assert(p, msg)
87 #endif
88
89 #ifdef DEBUG
90 #undef DEBUG
91 #endif
92 #ifdef SHARK_DEBUG
93 #define DEBUG
94 #undef SHARK_DEBUG
95 #endif