Mercurial > hg > graal-compiler
annotate graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackendFactory.java @ 21556:48c1ebd24120
renamed com.oracle.graal.api[meta|code] modules to com.oracle.jvmci.[meta|code] (JBS:GRAAL-53)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 27 May 2015 00:36:16 +0200 |
parents | 5324104ac4f3 |
children | 93f282187d90 |
rev | line source |
---|---|
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
1 /* |
21527
07b088d61d5d
added HotSpotJVMCIRuntime* classes, replaced references to HotSpotGraalRuntime in VM with HotSpotJVMCIRuntime (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21526
diff
changeset
|
2 * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
4 * |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
5 * This code is free software; you can redistribute it and/or modify it |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
6 * under the terms of the GNU General Public License version 2 only, as |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
7 * published by the Free Software Foundation. |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
8 * |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
9 * This code is distributed in the hope that it will be useful, but WITHOUT |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
12 * version 2 for more details (a copy is included in the LICENSE file that |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
13 * accompanied this code). |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
14 * |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License version |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
16 * 2 along with this work; if not, write to the Free Software Foundation, |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
18 * |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
21 * questions. |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
22 */ |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
23 package com.oracle.graal.hotspot.amd64; |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
24 |
21556
48c1ebd24120
renamed com.oracle.graal.api[meta|code] modules to com.oracle.jvmci.[meta|code] (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21551
diff
changeset
|
25 import com.oracle.jvmci.code.Register; |
48c1ebd24120
renamed com.oracle.graal.api[meta|code] modules to com.oracle.jvmci.[meta|code] (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21551
diff
changeset
|
26 import com.oracle.jvmci.code.RegisterConfig; |
48c1ebd24120
renamed com.oracle.graal.api[meta|code] modules to com.oracle.jvmci.[meta|code] (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21551
diff
changeset
|
27 import com.oracle.jvmci.code.TargetDescription; |
48c1ebd24120
renamed com.oracle.graal.api[meta|code] modules to com.oracle.jvmci.[meta|code] (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21551
diff
changeset
|
28 import com.oracle.jvmci.meta.Value; |
21551
5324104ac4f3
moved com.oracle.graal.hotspot.jvmci classes to com.oracle.jvmci.hotspot module (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21538
diff
changeset
|
29 import static com.oracle.jvmci.hotspot.InitTimer.*; |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
30 |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
31 import java.util.*; |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
32 |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
33 import com.oracle.graal.amd64.*; |
15018
db4254246f9a
Remove Constant.forObject and Constant.asObject to improve compiler/VM separation
Christian Wimmer <christian.wimmer@oracle.com>
parents:
14560
diff
changeset
|
34 import com.oracle.graal.api.replacements.*; |
20083
1048511c6bcc
added extension points for creating GraphBuilder plugins
Doug Simon <doug.simon@oracle.com>
parents:
19951
diff
changeset
|
35 import com.oracle.graal.graphbuilderconf.GraphBuilderConfiguration.Plugins; |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
36 import com.oracle.graal.hotspot.*; |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
37 import com.oracle.graal.hotspot.meta.*; |
19819
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
38 import com.oracle.graal.hotspot.word.*; |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
39 import com.oracle.graal.phases.util.*; |
20832
9794217565cd
replaced method substitutions for [Integer|Long].numberOf[Leading|Trailing]Zeros with InvocationPlugins
Doug Simon <doug.simon@oracle.com>
parents:
20083
diff
changeset
|
40 import com.oracle.graal.replacements.amd64.*; |
21551
5324104ac4f3
moved com.oracle.graal.hotspot.jvmci classes to com.oracle.jvmci.hotspot module (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21538
diff
changeset
|
41 import com.oracle.jvmci.hotspot.*; |
21527
07b088d61d5d
added HotSpotJVMCIRuntime* classes, replaced references to HotSpotGraalRuntime in VM with HotSpotJVMCIRuntime (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21526
diff
changeset
|
42 import com.oracle.jvmci.runtime.*; |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
43 |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
44 @ServiceProvider(HotSpotBackendFactory.class) |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
45 public class AMD64HotSpotBackendFactory implements HotSpotBackendFactory { |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
46 |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
47 @Override |
21527
07b088d61d5d
added HotSpotJVMCIRuntime* classes, replaced references to HotSpotGraalRuntime in VM with HotSpotJVMCIRuntime (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21526
diff
changeset
|
48 public HotSpotBackend createBackend(HotSpotGraalRuntimeProvider runtime, JVMCIBackend jvmci, HotSpotBackend host) { |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
49 assert host == null; |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
50 |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
51 HotSpotProviders providers; |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
52 HotSpotRegistersProvider registers; |
21527
07b088d61d5d
added HotSpotJVMCIRuntime* classes, replaced references to HotSpotGraalRuntime in VM with HotSpotJVMCIRuntime (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21526
diff
changeset
|
53 HotSpotCodeCacheProvider codeCache = (HotSpotCodeCacheProvider) jvmci.getCodeCache(); |
07b088d61d5d
added HotSpotJVMCIRuntime* classes, replaced references to HotSpotGraalRuntime in VM with HotSpotJVMCIRuntime (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21526
diff
changeset
|
54 TargetDescription target = codeCache.getTarget(); |
21538
c1e2fdb5fea3
removed more dependencies from JVMCI classes to non-JVMCI classes (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21527
diff
changeset
|
55 HotSpotConstantReflectionProvider constantReflection = new HotSpotGraalConstantReflectionProvider(runtime.getJVMCIRuntime()); |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
56 HotSpotHostForeignCallsProvider foreignCalls; |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
57 Value[] nativeABICallerSaveRegisters; |
21527
07b088d61d5d
added HotSpotJVMCIRuntime* classes, replaced references to HotSpotGraalRuntime in VM with HotSpotJVMCIRuntime (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21526
diff
changeset
|
58 HotSpotMetaAccessProvider metaAccess = (HotSpotMetaAccessProvider) jvmci.getMetaAccess(); |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
59 HotSpotLoweringProvider lowerer; |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
60 HotSpotSnippetReflectionProvider snippetReflection; |
19819
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
61 HotSpotReplacementsImpl replacements; |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
62 HotSpotDisassemblerProvider disassembler; |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
63 HotSpotSuitesProvider suites; |
19819
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
64 HotSpotWordTypes wordTypes; |
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
65 Plugins plugins; |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
66 try (InitTimer t = timer("create providers")) { |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
67 try (InitTimer rt = timer("create HotSpotRegisters provider")) { |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
68 registers = createRegisters(); |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
69 } |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
70 try (InitTimer rt = timer("create NativeABICallerSaveRegisters")) { |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
71 nativeABICallerSaveRegisters = createNativeABICallerSaveRegisters(runtime.getConfig(), codeCache.getRegisterConfig()); |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
72 } |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
73 try (InitTimer rt = timer("create ForeignCalls provider")) { |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
74 foreignCalls = createForeignCalls(runtime, metaAccess, codeCache, nativeABICallerSaveRegisters); |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
75 } |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
76 try (InitTimer rt = timer("create Lowerer provider")) { |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
77 lowerer = createLowerer(runtime, metaAccess, foreignCalls, registers, target); |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
78 } |
19819
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
79 HotSpotStampProvider stampProvider = new HotSpotStampProvider(); |
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
80 Providers p = new Providers(metaAccess, codeCache, constantReflection, foreignCalls, lowerer, null, stampProvider); |
19775
14e703edb2ab
use GraphBuilderPlugins for method substitutions, intrinsics and snippets (GRAAL-982)
Doug Simon <doug.simon@oracle.com>
parents:
19415
diff
changeset
|
81 |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
82 try (InitTimer rt = timer("create SnippetReflection provider")) { |
18512
7a3bba33f2b7
added support for binding arguments of arbitrary types to parameters of a SubstitutionGuard constructor
Doug Simon <doug.simon@oracle.com>
parents:
18495
diff
changeset
|
83 snippetReflection = createSnippetReflection(runtime); |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
84 } |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
85 try (InitTimer rt = timer("create Replacements provider")) { |
19254
835e950b38b9
removed vestige usages of Assumptions independent of a StructuredGraph
Doug Simon <doug.simon@oracle.com>
parents:
18528
diff
changeset
|
86 replacements = createReplacements(runtime, p, snippetReflection); |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
87 } |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
88 try (InitTimer rt = timer("create Disassembler provider")) { |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
89 disassembler = createDisassembler(runtime); |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
90 } |
19819
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
91 try (InitTimer rt = timer("create WordTypes")) { |
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
92 wordTypes = new HotSpotWordTypes(metaAccess, target.wordKind); |
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
93 } |
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
94 try (InitTimer rt = timer("create GraphBuilderPhase plugins")) { |
20083
1048511c6bcc
added extension points for creating GraphBuilder plugins
Doug Simon <doug.simon@oracle.com>
parents:
19951
diff
changeset
|
95 plugins = createGraphBuilderPlugins(runtime, target, constantReflection, foreignCalls, metaAccess, snippetReflection, replacements, wordTypes, stampProvider); |
19819
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
96 replacements.setGraphBuilderPlugins(plugins); |
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
97 } |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
98 try (InitTimer rt = timer("create Suites provider")) { |
19819
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
99 suites = createSuites(runtime, plugins); |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
100 } |
19819
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
101 providers = new HotSpotProviders(metaAccess, codeCache, constantReflection, foreignCalls, lowerer, replacements, disassembler, suites, registers, snippetReflection, wordTypes, plugins); |
15915
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
102 } |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
103 try (InitTimer rt = timer("instantiate backend")) { |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
104 return createBackend(runtime, providers); |
d1e9a44b14cc
added more runtime initialization timers
Doug Simon <doug.simon@oracle.com>
parents:
15889
diff
changeset
|
105 } |
12476
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
106 } |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
107 |
20083
1048511c6bcc
added extension points for creating GraphBuilder plugins
Doug Simon <doug.simon@oracle.com>
parents:
19951
diff
changeset
|
108 protected Plugins createGraphBuilderPlugins(HotSpotGraalRuntimeProvider runtime, TargetDescription target, HotSpotConstantReflectionProvider constantReflection, |
1048511c6bcc
added extension points for creating GraphBuilder plugins
Doug Simon <doug.simon@oracle.com>
parents:
19951
diff
changeset
|
109 HotSpotHostForeignCallsProvider foreignCalls, HotSpotMetaAccessProvider metaAccess, HotSpotSnippetReflectionProvider snippetReflection, HotSpotReplacementsImpl replacements, |
1048511c6bcc
added extension points for creating GraphBuilder plugins
Doug Simon <doug.simon@oracle.com>
parents:
19951
diff
changeset
|
110 HotSpotWordTypes wordTypes, HotSpotStampProvider stampProvider) { |
20836
63e4f33dce84
moved registration of AMD64 specific plugins to AMD64GraphBuilderPlugins
Doug Simon <doug.simon@oracle.com>
parents:
20832
diff
changeset
|
111 Plugins plugins = HotSpotGraphBuilderPlugins.create(runtime.getConfig(), wordTypes, metaAccess, constantReflection, snippetReflection, foreignCalls, stampProvider, replacements); |
20848
9e8f6d379720
added InvocationPlugins to use recently exposed HotSpot math runtime functions
Doug Simon <doug.simon@oracle.com>
parents:
20836
diff
changeset
|
112 AMD64GraphBuilderPlugins.register(plugins, foreignCalls, (AMD64) target.arch); |
20832
9794217565cd
replaced method substitutions for [Integer|Long].numberOf[Leading|Trailing]Zeros with InvocationPlugins
Doug Simon <doug.simon@oracle.com>
parents:
20083
diff
changeset
|
113 return plugins; |
20083
1048511c6bcc
added extension points for creating GraphBuilder plugins
Doug Simon <doug.simon@oracle.com>
parents:
19951
diff
changeset
|
114 } |
1048511c6bcc
added extension points for creating GraphBuilder plugins
Doug Simon <doug.simon@oracle.com>
parents:
19951
diff
changeset
|
115 |
18524
c538c2c6b7e2
changed most references to HotSpotGraalRuntime to use HotSpotGraalRuntimeProvider instead
Doug Simon <doug.simon@oracle.com>
parents:
18512
diff
changeset
|
116 protected AMD64HotSpotBackend createBackend(HotSpotGraalRuntimeProvider runtime, HotSpotProviders providers) { |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
117 return new AMD64HotSpotBackend(runtime, providers); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
118 } |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
119 |
12786
7e9c00c54866
pass stack pointer register into monitorenter snippet instead of getting it from the host provider
Doug Simon <doug.simon@oracle.com>
parents:
12580
diff
changeset
|
120 protected HotSpotRegistersProvider createRegisters() { |
12476
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
121 return new HotSpotRegisters(AMD64.r15, AMD64.r12, AMD64.rsp); |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
122 } |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
123 |
18524
c538c2c6b7e2
changed most references to HotSpotGraalRuntime to use HotSpotGraalRuntimeProvider instead
Doug Simon <doug.simon@oracle.com>
parents:
18512
diff
changeset
|
124 protected HotSpotDisassemblerProvider createDisassembler(HotSpotGraalRuntimeProvider runtime) { |
12476
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
125 return new HotSpotDisassemblerProvider(runtime); |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
126 } |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
127 |
19819
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
128 protected HotSpotReplacementsImpl createReplacements(HotSpotGraalRuntimeProvider runtime, Providers p, SnippetReflectionProvider snippetReflection) { |
19254
835e950b38b9
removed vestige usages of Assumptions independent of a StructuredGraph
Doug Simon <doug.simon@oracle.com>
parents:
18528
diff
changeset
|
129 return new HotSpotReplacementsImpl(p, snippetReflection, runtime.getConfig(), p.getCodeCache().getTarget()); |
12476
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
130 } |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
131 |
18524
c538c2c6b7e2
changed most references to HotSpotGraalRuntime to use HotSpotGraalRuntimeProvider instead
Doug Simon <doug.simon@oracle.com>
parents:
18512
diff
changeset
|
132 protected AMD64HotSpotForeignCallsProvider createForeignCalls(HotSpotGraalRuntimeProvider runtime, HotSpotMetaAccessProvider metaAccess, HotSpotCodeCacheProvider codeCache, |
12476
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
133 Value[] nativeABICallerSaveRegisters) { |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
134 return new AMD64HotSpotForeignCallsProvider(runtime, metaAccess, codeCache, nativeABICallerSaveRegisters); |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
135 } |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
136 |
19819
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
137 protected HotSpotSuitesProvider createSuites(HotSpotGraalRuntimeProvider runtime, Plugins plugins) { |
0c29075aeafe
graph builder plugins are created before GraphBuilderConfigurations and the process for deriving plugins from an existing configuration is simplified
Doug Simon <doug.simon@oracle.com>
parents:
19775
diff
changeset
|
138 return new HotSpotSuitesProvider(runtime, plugins); |
12476
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
139 } |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
140 |
18524
c538c2c6b7e2
changed most references to HotSpotGraalRuntime to use HotSpotGraalRuntimeProvider instead
Doug Simon <doug.simon@oracle.com>
parents:
18512
diff
changeset
|
141 protected HotSpotSnippetReflectionProvider createSnippetReflection(HotSpotGraalRuntimeProvider runtime) { |
18512
7a3bba33f2b7
added support for binding arguments of arbitrary types to parameters of a SubstitutionGuard constructor
Doug Simon <doug.simon@oracle.com>
parents:
18495
diff
changeset
|
142 return new HotSpotSnippetReflectionProvider(runtime); |
15018
db4254246f9a
Remove Constant.forObject and Constant.asObject to improve compiler/VM separation
Christian Wimmer <christian.wimmer@oracle.com>
parents:
14560
diff
changeset
|
143 } |
db4254246f9a
Remove Constant.forObject and Constant.asObject to improve compiler/VM separation
Christian Wimmer <christian.wimmer@oracle.com>
parents:
14560
diff
changeset
|
144 |
18528
c240024b32b3
fixed eclipseformat issues
Doug Simon <doug.simon@oracle.com>
parents:
18524
diff
changeset
|
145 protected HotSpotLoweringProvider createLowerer(HotSpotGraalRuntimeProvider runtime, HotSpotMetaAccessProvider metaAccess, HotSpotForeignCallsProvider foreignCalls, |
c240024b32b3
fixed eclipseformat issues
Doug Simon <doug.simon@oracle.com>
parents:
18524
diff
changeset
|
146 HotSpotRegistersProvider registers, TargetDescription target) { |
15889
8184c00fefd2
Factor out VM-independent part of DefaultHotSpotLoweringProvider into DefaultJavaLoweringProvider
Christian Wimmer <christian.wimmer@oracle.com>
parents:
15481
diff
changeset
|
147 return new AMD64HotSpotLoweringProvider(runtime, metaAccess, foreignCalls, registers, target); |
12476
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
148 } |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
149 |
67566565053a
made AMD64HotSpotBackendFactory more easily extensible
Doug Simon <doug.simon@oracle.com>
parents:
12469
diff
changeset
|
150 protected Value[] createNativeABICallerSaveRegisters(HotSpotVMConfig config, RegisterConfig regConfig) { |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
151 List<Register> callerSave = new ArrayList<>(Arrays.asList(regConfig.getAllocatableRegisters())); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
152 if (config.windowsOs) { |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
153 // http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
154 callerSave.remove(AMD64.rdi); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
155 callerSave.remove(AMD64.rsi); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
156 callerSave.remove(AMD64.rbx); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
157 callerSave.remove(AMD64.rbp); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
158 callerSave.remove(AMD64.rsp); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
159 callerSave.remove(AMD64.r12); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
160 callerSave.remove(AMD64.r13); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
161 callerSave.remove(AMD64.r14); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
162 callerSave.remove(AMD64.r15); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
163 callerSave.remove(AMD64.xmm6); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
164 callerSave.remove(AMD64.xmm7); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
165 callerSave.remove(AMD64.xmm8); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
166 callerSave.remove(AMD64.xmm9); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
167 callerSave.remove(AMD64.xmm10); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
168 callerSave.remove(AMD64.xmm11); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
169 callerSave.remove(AMD64.xmm12); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
170 callerSave.remove(AMD64.xmm13); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
171 callerSave.remove(AMD64.xmm14); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
172 callerSave.remove(AMD64.xmm15); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
173 } else { |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
174 /* |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
175 * System V Application Binary Interface, AMD64 Architecture Processor Supplement |
21413
15a46a918fc1
removed unnecessary HotSpotCodeCache.MarkId enum (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
20848
diff
changeset
|
176 * |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
177 * Draft Version 0.96 |
21413
15a46a918fc1
removed unnecessary HotSpotCodeCache.MarkId enum (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
20848
diff
changeset
|
178 * |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
179 * http://www.uclibc.org/docs/psABI-x86_64.pdf |
21413
15a46a918fc1
removed unnecessary HotSpotCodeCache.MarkId enum (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
20848
diff
changeset
|
180 * |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
181 * 3.2.1 |
21413
15a46a918fc1
removed unnecessary HotSpotCodeCache.MarkId enum (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
20848
diff
changeset
|
182 * |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
183 * ... |
21413
15a46a918fc1
removed unnecessary HotSpotCodeCache.MarkId enum (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
20848
diff
changeset
|
184 * |
12456
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
185 * This subsection discusses usage of each register. Registers %rbp, %rbx and %r12 |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
186 * through %r15 "belong" to the calling function and the called function is required to |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
187 * preserve their values. In other words, a called function must preserve these |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
188 * registers' values for its caller. Remaining registers "belong" to the called |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
189 * function. If a calling function wants to preserve such a register value across a |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
190 * function call, it must save the value in its local stack frame. |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
191 */ |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
192 callerSave.remove(AMD64.rbp); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
193 callerSave.remove(AMD64.rbx); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
194 callerSave.remove(AMD64.r12); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
195 callerSave.remove(AMD64.r13); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
196 callerSave.remove(AMD64.r14); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
197 callerSave.remove(AMD64.r15); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
198 } |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
199 Value[] nativeABICallerSaveRegisters = new Value[callerSave.size()]; |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
200 for (int i = 0; i < callerSave.size(); i++) { |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
201 nativeABICallerSaveRegisters[i] = callerSave.get(i).asValue(); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
202 } |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
203 return nativeABICallerSaveRegisters; |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
204 } |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
205 |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
206 public String getArchitecture() { |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
207 return "AMD64"; |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
208 } |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
209 |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
210 public String getGraalRuntimeName() { |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
211 return "basic"; |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
212 } |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
213 |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
214 @Override |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
215 public String toString() { |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
216 return getGraalRuntimeName() + ":" + getArchitecture(); |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
217 } |
f87c68d79f07
improved support for co-existing, multiple backends (GRAAL-363)
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
218 } |