src/share/vm/adlc/main.cpp

Print this page
rev 3825 : Specify offset of IC load in java_to_interp stub.

If a compiled static call calls the interpreter, it jumps past a
java_to_interp stub in the compiled code. Patching this call must
find the load of the IC. So far the shared code assumed this is the
first instruction in the stub.
This might not be the case if, for example, the base of the constant
table must be loaded.
Extend CompiledStaticCall to consider an offset from its beginning
where to search the load of the IC.


 196   AD.addSunCopyright(legal_text, legal_sz, AD._HPP_file._fp);           // .hpp
 197   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_file._fp);           // .cpp
 198   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_CLONE_file._fp);     // .cpp
 199   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_EXPAND_file._fp);    // .cpp
 200   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_FORMAT_file._fp);    // .cpp
 201   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_GEN_file._fp);       // .cpp
 202   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_MISC_file._fp);      // .cpp
 203   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_PEEPHOLE_file._fp);  // .cpp
 204   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_PIPELINE_file._fp);  // .cpp
 205   AD.addSunCopyright(legal_text, legal_sz, AD._VM_file._fp);            // .hpp
 206   AD.addSunCopyright(legal_text, legal_sz, AD._DFA_file._fp);           // .cpp
 207   // Add include guards for all .hpp files
 208   AD.addIncludeGuardStart(AD._HPP_file, "GENERATED_ADFILES_AD_HPP");        // .hpp
 209   AD.addIncludeGuardStart(AD._VM_file, "GENERATED_ADFILES_ADGLOBALS_HPP");  // .hpp
 210   // Add includes
 211   AD.addInclude(AD._CPP_file, "precompiled.hpp");
 212   AD.addInclude(AD._CPP_file, "adfiles", get_basename(AD._VM_file._name));
 213   AD.addInclude(AD._CPP_file, "adfiles", get_basename(AD._HPP_file._name));
 214   AD.addInclude(AD._CPP_file, "memory/allocation.inline.hpp");
 215   AD.addInclude(AD._CPP_file, "asm/assembler.hpp");

 216   AD.addInclude(AD._CPP_file, "code/vmreg.hpp");
 217   AD.addInclude(AD._CPP_file, "gc_interface/collectedHeap.inline.hpp");
 218   AD.addInclude(AD._CPP_file, "oops/compiledICHolder.hpp");
 219   AD.addInclude(AD._CPP_file, "oops/markOop.hpp");
 220   AD.addInclude(AD._CPP_file, "oops/method.hpp");
 221   AD.addInclude(AD._CPP_file, "oops/oop.inline.hpp");
 222   AD.addInclude(AD._CPP_file, "oops/oop.inline2.hpp");
 223   AD.addInclude(AD._CPP_file, "opto/cfgnode.hpp");
 224   AD.addInclude(AD._CPP_file, "opto/locknode.hpp");
 225   AD.addInclude(AD._CPP_file, "opto/opcodes.hpp");
 226   AD.addInclude(AD._CPP_file, "opto/regalloc.hpp");
 227   AD.addInclude(AD._CPP_file, "opto/regmask.hpp");
 228   AD.addInclude(AD._CPP_file, "opto/runtime.hpp");
 229   AD.addInclude(AD._CPP_file, "runtime/biasedLocking.hpp");
 230   AD.addInclude(AD._CPP_file, "runtime/sharedRuntime.hpp");
 231   AD.addInclude(AD._CPP_file, "runtime/stubRoutines.hpp");
 232   AD.addInclude(AD._CPP_file, "utilities/growableArray.hpp");
 233 #ifdef TARGET_ARCH_x86
 234   AD.addInclude(AD._CPP_file, "assembler_x86.inline.hpp");
 235   AD.addInclude(AD._CPP_file, "nativeInst_x86.hpp");




 196   AD.addSunCopyright(legal_text, legal_sz, AD._HPP_file._fp);           // .hpp
 197   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_file._fp);           // .cpp
 198   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_CLONE_file._fp);     // .cpp
 199   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_EXPAND_file._fp);    // .cpp
 200   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_FORMAT_file._fp);    // .cpp
 201   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_GEN_file._fp);       // .cpp
 202   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_MISC_file._fp);      // .cpp
 203   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_PEEPHOLE_file._fp);  // .cpp
 204   AD.addSunCopyright(legal_text, legal_sz, AD._CPP_PIPELINE_file._fp);  // .cpp
 205   AD.addSunCopyright(legal_text, legal_sz, AD._VM_file._fp);            // .hpp
 206   AD.addSunCopyright(legal_text, legal_sz, AD._DFA_file._fp);           // .cpp
 207   // Add include guards for all .hpp files
 208   AD.addIncludeGuardStart(AD._HPP_file, "GENERATED_ADFILES_AD_HPP");        // .hpp
 209   AD.addIncludeGuardStart(AD._VM_file, "GENERATED_ADFILES_ADGLOBALS_HPP");  // .hpp
 210   // Add includes
 211   AD.addInclude(AD._CPP_file, "precompiled.hpp");
 212   AD.addInclude(AD._CPP_file, "adfiles", get_basename(AD._VM_file._name));
 213   AD.addInclude(AD._CPP_file, "adfiles", get_basename(AD._HPP_file._name));
 214   AD.addInclude(AD._CPP_file, "memory/allocation.inline.hpp");
 215   AD.addInclude(AD._CPP_file, "asm/assembler.hpp");
 216   AD.addInclude(AD._CPP_file, "code/compiledIC.hpp");
 217   AD.addInclude(AD._CPP_file, "code/vmreg.hpp");
 218   AD.addInclude(AD._CPP_file, "gc_interface/collectedHeap.inline.hpp");
 219   AD.addInclude(AD._CPP_file, "oops/compiledICHolder.hpp");
 220   AD.addInclude(AD._CPP_file, "oops/markOop.hpp");
 221   AD.addInclude(AD._CPP_file, "oops/method.hpp");
 222   AD.addInclude(AD._CPP_file, "oops/oop.inline.hpp");
 223   AD.addInclude(AD._CPP_file, "oops/oop.inline2.hpp");
 224   AD.addInclude(AD._CPP_file, "opto/cfgnode.hpp");
 225   AD.addInclude(AD._CPP_file, "opto/locknode.hpp");
 226   AD.addInclude(AD._CPP_file, "opto/opcodes.hpp");
 227   AD.addInclude(AD._CPP_file, "opto/regalloc.hpp");
 228   AD.addInclude(AD._CPP_file, "opto/regmask.hpp");
 229   AD.addInclude(AD._CPP_file, "opto/runtime.hpp");
 230   AD.addInclude(AD._CPP_file, "runtime/biasedLocking.hpp");
 231   AD.addInclude(AD._CPP_file, "runtime/sharedRuntime.hpp");
 232   AD.addInclude(AD._CPP_file, "runtime/stubRoutines.hpp");
 233   AD.addInclude(AD._CPP_file, "utilities/growableArray.hpp");
 234 #ifdef TARGET_ARCH_x86
 235   AD.addInclude(AD._CPP_file, "assembler_x86.inline.hpp");
 236   AD.addInclude(AD._CPP_file, "nativeInst_x86.hpp");