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