Mercurial > hg > truffle
comparison src/share/vm/adlc/main.cpp @ 14518:d8041d695d19
Merged with jdk9/dev/hotspot changeset 3812c088b945
author | twisti |
---|---|
date | Tue, 11 Mar 2014 18:45:59 -0700 |
parents | abec000618bf |
children | 4ca6dc0799b6 |
comparison
equal
deleted
inserted
replaced
14141:f97c5ec83832 | 14518:d8041d695d19 |
---|---|
27 | 27 |
28 //------------------------------Prototypes------------------------------------- | 28 //------------------------------Prototypes------------------------------------- |
29 static void usage(ArchDesc& AD); // Print usage message and exit | 29 static void usage(ArchDesc& AD); // Print usage message and exit |
30 static char *strip_ext(char *fname); // Strip off name extension | 30 static char *strip_ext(char *fname); // Strip off name extension |
31 static char *base_plus_suffix(const char* base, const char *suffix);// New concatenated string | 31 static char *base_plus_suffix(const char* base, const char *suffix);// New concatenated string |
32 static char *prefix_plus_base_plus_suffix(const char* prefix, const char* base, const char *suffix);// New concatenated string | |
33 static int get_legal_text(FileBuff &fbuf, char **legal_text); // Get pointer to legal text | 32 static int get_legal_text(FileBuff &fbuf, char **legal_text); // Get pointer to legal text |
34 | 33 |
35 ArchDesc* globalAD = NULL; // global reference to Architecture Description object | 34 ArchDesc* globalAD = NULL; // global reference to Architecture Description object |
36 | 35 |
37 const char* get_basename(const char* filename) { | 36 const char* get_basename(const char* filename) { |
241 #endif | 240 #endif |
242 #ifdef TARGET_ARCH_arm | 241 #ifdef TARGET_ARCH_arm |
243 AD.addInclude(AD._CPP_file, "nativeInst_arm.hpp"); | 242 AD.addInclude(AD._CPP_file, "nativeInst_arm.hpp"); |
244 AD.addInclude(AD._CPP_file, "vmreg_arm.inline.hpp"); | 243 AD.addInclude(AD._CPP_file, "vmreg_arm.inline.hpp"); |
245 #endif | 244 #endif |
245 #ifdef TARGET_ARCH_ppc | |
246 AD.addInclude(AD._CPP_file, "assembler_ppc.inline.hpp"); | |
247 AD.addInclude(AD._CPP_file, "nativeInst_ppc.hpp"); | |
248 AD.addInclude(AD._CPP_file, "vmreg_ppc.inline.hpp"); | |
249 #endif | |
246 AD.addInclude(AD._HPP_file, "memory/allocation.hpp"); | 250 AD.addInclude(AD._HPP_file, "memory/allocation.hpp"); |
247 AD.addInclude(AD._HPP_file, "opto/machnode.hpp"); | 251 AD.addInclude(AD._HPP_file, "opto/machnode.hpp"); |
248 AD.addInclude(AD._HPP_file, "opto/node.hpp"); | 252 AD.addInclude(AD._HPP_file, "opto/node.hpp"); |
249 AD.addInclude(AD._HPP_file, "opto/regalloc.hpp"); | 253 AD.addInclude(AD._HPP_file, "opto/regalloc.hpp"); |
250 AD.addInclude(AD._HPP_file, "opto/subnode.hpp"); | 254 AD.addInclude(AD._HPP_file, "opto/subnode.hpp"); |
265 AD.addInclude(AD._CPP_PEEPHOLE_file, "adfiles", get_basename(AD._HPP_file._name)); | 269 AD.addInclude(AD._CPP_PEEPHOLE_file, "adfiles", get_basename(AD._HPP_file._name)); |
266 AD.addInclude(AD._CPP_PIPELINE_file, "precompiled.hpp"); | 270 AD.addInclude(AD._CPP_PIPELINE_file, "precompiled.hpp"); |
267 AD.addInclude(AD._CPP_PIPELINE_file, "adfiles", get_basename(AD._HPP_file._name)); | 271 AD.addInclude(AD._CPP_PIPELINE_file, "adfiles", get_basename(AD._HPP_file._name)); |
268 AD.addInclude(AD._DFA_file, "precompiled.hpp"); | 272 AD.addInclude(AD._DFA_file, "precompiled.hpp"); |
269 AD.addInclude(AD._DFA_file, "adfiles", get_basename(AD._HPP_file._name)); | 273 AD.addInclude(AD._DFA_file, "adfiles", get_basename(AD._HPP_file._name)); |
274 AD.addInclude(AD._DFA_file, "opto/cfgnode.hpp"); // Use PROB_MAX in predicate. | |
270 AD.addInclude(AD._DFA_file, "opto/matcher.hpp"); | 275 AD.addInclude(AD._DFA_file, "opto/matcher.hpp"); |
271 AD.addInclude(AD._DFA_file, "opto/opcodes.hpp"); | 276 AD.addInclude(AD._DFA_file, "opto/opcodes.hpp"); |
272 // Make sure each .cpp file starts with include lines: | 277 // Make sure each .cpp file starts with include lines: |
273 // files declaring and defining generators for Mach* Objects (hpp,cpp) | 278 // files declaring and defining generators for Mach* Objects (hpp,cpp) |
274 // Generate the result files: | 279 // Generate the result files: |
298 AD.buildMachNodeGenerator(AD._CPP_GEN_file._fp);// .cpp | 303 AD.buildMachNodeGenerator(AD._CPP_GEN_file._fp);// .cpp |
299 // define methods for machine dependent instruction matching | 304 // define methods for machine dependent instruction matching |
300 AD.buildInstructMatchCheck(AD._CPP_file._fp); // .cpp | 305 AD.buildInstructMatchCheck(AD._CPP_file._fp); // .cpp |
301 // define methods for machine dependent frame management | 306 // define methods for machine dependent frame management |
302 AD.buildFrameMethods(AD._CPP_file._fp); // .cpp | 307 AD.buildFrameMethods(AD._CPP_file._fp); // .cpp |
308 AD.generate_needs_clone_jvms(AD._CPP_file._fp); | |
303 | 309 |
304 // do this last: | 310 // do this last: |
305 AD.addPreprocessorChecks(AD._CPP_file._fp); // .cpp | 311 AD.addPreprocessorChecks(AD._CPP_file._fp); // .cpp |
306 AD.addPreprocessorChecks(AD._CPP_CLONE_file._fp); // .cpp | 312 AD.addPreprocessorChecks(AD._CPP_CLONE_file._fp); // .cpp |
307 AD.addPreprocessorChecks(AD._CPP_EXPAND_file._fp); // .cpp | 313 AD.addPreprocessorChecks(AD._CPP_EXPAND_file._fp); // .cpp |