324 static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(bool arg ), bool arg ); 325 static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(TosState tos), TosState tos); 326 static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Operation op), Operation op); 327 static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Condition cc), Condition cc); 328 329 friend class Template; 330 331 // InterpreterMacroAssembler::is_a(), etc., need TemplateTable::call_VM(). 332 friend class InterpreterMacroAssembler; 333 334 public: 335 // Initialization 336 static void initialize(); 337 static void pd_initialize(); 338 339 // Templates 340 static Template* template_for (Bytecodes::Code code) { Bytecodes::check (code); return &_template_table [code]; } 341 static Template* template_for_wide(Bytecodes::Code code) { Bytecodes::wide_check(code); return &_template_table_wide[code]; } 342 343 // Platform specifics 344 #ifdef TARGET_ARCH_MODEL_x86_32 345 # include "templateTable_x86_32.hpp" 346 #endif 347 #ifdef TARGET_ARCH_MODEL_x86_64 348 # include "templateTable_x86_64.hpp" 349 #endif 350 #ifdef TARGET_ARCH_MODEL_sparc 351 # include "templateTable_sparc.hpp" 352 #endif 353 #ifdef TARGET_ARCH_MODEL_zero 354 # include "templateTable_zero.hpp" 355 #endif 356 #ifdef TARGET_ARCH_MODEL_arm 357 # include "templateTable_arm.hpp" 358 #endif 359 #ifdef TARGET_ARCH_MODEL_ppc_32 360 # include "templateTable_ppc_32.hpp" 361 #endif 362 #ifdef TARGET_ARCH_MODEL_ppc_64 363 # include "templateTable_ppc_64.hpp" 364 #endif 365 #ifdef TARGET_ARCH_MODEL_aarch64 366 # include "templateTable_aarch64.hpp" 367 #endif 368 369 }; 370 #endif /* !CC_INTERP */ 371 372 #endif // SHARE_VM_INTERPRETER_TEMPLATETABLE_HPP | 324 static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(bool arg ), bool arg ); 325 static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(TosState tos), TosState tos); 326 static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Operation op), Operation op); 327 static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Condition cc), Condition cc); 328 329 friend class Template; 330 331 // InterpreterMacroAssembler::is_a(), etc., need TemplateTable::call_VM(). 332 friend class InterpreterMacroAssembler; 333 334 public: 335 // Initialization 336 static void initialize(); 337 static void pd_initialize(); 338 339 // Templates 340 static Template* template_for (Bytecodes::Code code) { Bytecodes::check (code); return &_template_table [code]; } 341 static Template* template_for_wide(Bytecodes::Code code) { Bytecodes::wide_check(code); return &_template_table_wide[code]; } 342 343 // Platform specifics 344 #if defined TEMPLATETABLE_MD_HPP 345 # include TEMPLATETABLE_MD_HPP 346 #elif defined TARGET_ARCH_MODEL_x86_32 347 # include "templateTable_x86_32.hpp" 348 #elif defined TARGET_ARCH_MODEL_x86_64 349 # include "templateTable_x86_64.hpp" 350 #elif defined TARGET_ARCH_MODEL_sparc 351 # include "templateTable_sparc.hpp" 352 #elif defined TARGET_ARCH_MODEL_zero 353 # include "templateTable_zero.hpp" 354 #elif defined TARGET_ARCH_MODEL_ppc_64 355 # include "templateTable_ppc_64.hpp" 356 #elif defined TARGET_ARCH_MODEL_aarch64 357 # include "templateTable_aarch64.hpp" 358 #endif 359 360 }; 361 #endif /* !CC_INTERP */ 362 363 #endif // SHARE_VM_INTERPRETER_TEMPLATETABLE_HPP |