< prev index next >

src/hotspot/share/interpreter/templateTable.hpp

Print this page




 280                                         bool is_static);
 281   static void invokevirtual(int byte_no);
 282   static void invokespecial(int byte_no);
 283   static void invokestatic(int byte_no);
 284   static void invokeinterface(int byte_no);
 285   static void invokedynamic(int byte_no);
 286   static void invokehandle(int byte_no);
 287   static void fast_invokevfinal(int byte_no);
 288 
 289   static void getfield_or_static(int byte_no, bool is_static, RewriteControl rc = may_rewrite);
 290   static void putfield_or_static(int byte_no, bool is_static, RewriteControl rc = may_rewrite);
 291 
 292   static void getfield(int byte_no);
 293   static void putfield(int byte_no);
 294   static void nofast_getfield(int byte_no);
 295   static void nofast_putfield(int byte_no);
 296   static void getstatic(int byte_no);
 297   static void putstatic(int byte_no);
 298   static void pop_and_check_object(Register obj);
 299   static void condy_helper(Label& Done);  // shared by ldc instances

 300 
 301   static void _new();

 302   static void newarray();
 303   static void anewarray();
 304   static void arraylength();
 305   static void checkcast();
 306   static void instanceof();
 307 
 308   static void athrow();
 309 
 310   static void monitorenter();
 311   static void monitorexit();
 312 
 313   static void wide();
 314   static void multianewarray();
 315 
 316   static void fast_xaccess(TosState state);
 317   static void fast_accessfield(TosState state);
 318   static void fast_storefield(TosState state);
 319 
 320   static void _breakpoint();
 321 
 322   static void shouldnotreachhere();
 323 
 324   // jvmti support
 325   static void jvmti_post_field_access(Register cache, Register index, bool is_static, bool has_tos);
 326   static void jvmti_post_field_mod(Register cache, Register index, bool is_static);
 327   static void jvmti_post_fast_field_mod();
 328 
 329   // debugging of TemplateGenerator
 330   static void transition(TosState tos_in, TosState tos_out);// checks if in/out states expected by template generator correspond to table entries
 331 
 332   // initialization helpers
 333   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(            ), char filler );
 334   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(int arg     ), int arg     );
 335  static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(bool arg    ), bool arg    );
 336   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(TosState tos), TosState tos);
 337   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Operation op), Operation op);
 338   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Condition cc), Condition cc);
 339 
 340   friend class Template;
 341 
 342   // InterpreterMacroAssembler::is_a(), etc., need TemplateTable::call_VM().
 343   friend class InterpreterMacroAssembler;
 344 
 345  public:
 346   // Initialization
 347   static void initialize();
 348   static void pd_initialize();
 349 
 350   // Templates
 351   static Template* template_for     (Bytecodes::Code code)  { Bytecodes::check     (code); return &_template_table     [code]; }
 352   static Template* template_for_wide(Bytecodes::Code code)  { Bytecodes::wide_check(code); return &_template_table_wide[code]; }
 353 
 354   // Platform specifics
 355 #include CPU_HEADER(templateTable)


 280                                         bool is_static);
 281   static void invokevirtual(int byte_no);
 282   static void invokespecial(int byte_no);
 283   static void invokestatic(int byte_no);
 284   static void invokeinterface(int byte_no);
 285   static void invokedynamic(int byte_no);
 286   static void invokehandle(int byte_no);
 287   static void fast_invokevfinal(int byte_no);
 288 
 289   static void getfield_or_static(int byte_no, bool is_static, RewriteControl rc = may_rewrite);
 290   static void putfield_or_static(int byte_no, bool is_static, RewriteControl rc = may_rewrite);
 291 
 292   static void getfield(int byte_no);
 293   static void putfield(int byte_no);
 294   static void nofast_getfield(int byte_no);
 295   static void nofast_putfield(int byte_no);
 296   static void getstatic(int byte_no);
 297   static void putstatic(int byte_no);
 298   static void pop_and_check_object(Register obj);
 299   static void condy_helper(Label& Done);  // shared by ldc instances
 300   static void withfield();
 301 
 302   static void _new();
 303   static void defaultvalue();
 304   static void newarray();
 305   static void anewarray();
 306   static void arraylength();
 307   static void checkcast();
 308   static void instanceof();
 309 
 310   static void athrow();
 311 
 312   static void monitorenter();
 313   static void monitorexit();
 314 
 315   static void wide();
 316   static void multianewarray();
 317 
 318   static void fast_xaccess(TosState state);
 319   static void fast_accessfield(TosState state);
 320   static void fast_storefield(TosState state);
 321 
 322   static void _breakpoint();
 323 
 324   static void shouldnotreachhere();
 325 
 326   // jvmti support
 327   static void jvmti_post_field_access(Register cache, Register index, bool is_static, bool has_tos);
 328   static void jvmti_post_field_mod(Register cache, Register index, bool is_static);
 329   static void jvmti_post_fast_field_mod();
 330 
 331   // debugging of TemplateGenerator
 332   static void transition(TosState tos_in, TosState tos_out);// checks if in/out states expected by template generator correspond to table entries
 333 
 334   // initialization helpers
 335   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(            ), char filler );
 336   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(int arg     ), int arg     );
 337   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(bool arg    ), bool arg    );
 338   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(TosState tos), TosState tos);
 339   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Operation op), Operation op);
 340   static void def(Bytecodes::Code code, int flags, TosState in, TosState out, void (*gen)(Condition cc), Condition cc);
 341 
 342   friend class Template;
 343 
 344   // InterpreterMacroAssembler::is_a(), etc., need TemplateTable::call_VM().
 345   friend class InterpreterMacroAssembler;
 346 
 347  public:
 348   // Initialization
 349   static void initialize();
 350   static void pd_initialize();
 351 
 352   // Templates
 353   static Template* template_for     (Bytecodes::Code code)  { Bytecodes::check     (code); return &_template_table     [code]; }
 354   static Template* template_for_wide(Bytecodes::Code code)  { Bytecodes::wide_check(code); return &_template_table_wide[code]; }
 355 
 356   // Platform specifics
 357 #include CPU_HEADER(templateTable)
< prev index next >