comparison src/share/vm/runtime/frame.hpp @ 1138:dd57230ba8fe

6893268: additional dynamic language related optimizations in C2 Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance. Reviewed-by: kvn, never
author twisti
date Tue, 05 Jan 2010 15:21:25 +0100
parents 148e5441d916
children ba263cfb7611
comparison
equal deleted inserted replaced
1137:97125851f396 1138:dd57230ba8fe
369 369
370 // Conversion from an VMReg to physical stack location 370 // Conversion from an VMReg to physical stack location
371 oop* oopmapreg_to_location(VMReg reg, const RegisterMap* regmap) const; 371 oop* oopmapreg_to_location(VMReg reg, const RegisterMap* regmap) const;
372 372
373 // Oops-do's 373 // Oops-do's
374 void oops_compiled_arguments_do(symbolHandle signature, bool is_static, const RegisterMap* reg_map, OopClosure* f); 374 void oops_compiled_arguments_do(symbolHandle signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f);
375 void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true); 375 void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true);
376 376
377 private: 377 private:
378 void oops_interpreted_locals_do(OopClosure *f, 378 void oops_interpreted_locals_do(OopClosure *f,
379 int max_locals, 379 int max_locals,
380 InterpreterOopMap *mask); 380 InterpreterOopMap *mask);
381 void oops_interpreted_expressions_do(OopClosure *f, symbolHandle signature, 381 void oops_interpreted_expressions_do(OopClosure *f, symbolHandle signature,
382 bool is_static, int max_stack, int max_locals, 382 bool has_receiver, int max_stack, int max_locals,
383 InterpreterOopMap *mask); 383 InterpreterOopMap *mask);
384 void oops_interpreted_arguments_do(symbolHandle signature, bool is_static, OopClosure* f); 384 void oops_interpreted_arguments_do(symbolHandle signature, bool has_receiver, OopClosure* f);
385 385
386 // Iteration of oops 386 // Iteration of oops
387 void oops_do_internal(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache); 387 void oops_do_internal(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache);
388 void oops_entry_do(OopClosure* f, const RegisterMap* map); 388 void oops_entry_do(OopClosure* f, const RegisterMap* map);
389 void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map); 389 void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map);