362
363 public:
364 void print_value() const { print_value_on(tty,NULL); }
365 void print_value_on(outputStream* st, JavaThread *thread) const;
366 void print_on(outputStream* st) const;
367 void interpreter_frame_print_on(outputStream* st) const;
368 void print_on_error(outputStream* st, char* buf, int buflen, bool verbose = false) const;
369
370 // Conversion from an VMReg to physical stack location
371 oop* oopmapreg_to_location(VMReg reg, const RegisterMap* regmap) const;
372
373 // Oops-do's
374 void oops_compiled_arguments_do(symbolHandle signature, bool is_static, const RegisterMap* reg_map, OopClosure* f);
375 void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true);
376
377 private:
378 void oops_interpreted_locals_do(OopClosure *f,
379 int max_locals,
380 InterpreterOopMap *mask);
381 void oops_interpreted_expressions_do(OopClosure *f, symbolHandle signature,
382 bool is_static, int max_stack, int max_locals,
383 InterpreterOopMap *mask);
384 void oops_interpreted_arguments_do(symbolHandle signature, bool is_static, OopClosure* f);
385
386 // Iteration of oops
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);
389 void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map);
390 int adjust_offset(methodOop method, int index); // helper for above fn
391 public:
392 // Memory management
393 void oops_do(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map) { oops_do_internal(f, cf, map, true); }
394 void nmethods_do(CodeBlobClosure* cf);
395
396 void gc_prologue();
397 void gc_epilogue();
398 void pd_gc_epilog();
399
400 # ifdef ENABLE_ZAP_DEAD_LOCALS
401 private:
402 class CheckValueClosure: public OopClosure {
403 public:
404 void do_oop(oop* p);
|
362
363 public:
364 void print_value() const { print_value_on(tty,NULL); }
365 void print_value_on(outputStream* st, JavaThread *thread) const;
366 void print_on(outputStream* st) const;
367 void interpreter_frame_print_on(outputStream* st) const;
368 void print_on_error(outputStream* st, char* buf, int buflen, bool verbose = false) const;
369
370 // Conversion from an VMReg to physical stack location
371 oop* oopmapreg_to_location(VMReg reg, const RegisterMap* regmap) const;
372
373 // Oops-do's
374 void oops_compiled_arguments_do(symbolHandle signature, bool is_static, const RegisterMap* reg_map, OopClosure* f);
375 void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true);
376
377 private:
378 void oops_interpreted_locals_do(OopClosure *f,
379 int max_locals,
380 InterpreterOopMap *mask);
381 void oops_interpreted_expressions_do(OopClosure *f, symbolHandle signature,
382 bool has_receiver, int max_stack, int max_locals,
383 InterpreterOopMap *mask);
384 void oops_interpreted_arguments_do(symbolHandle signature, bool has_receiver, OopClosure* f);
385
386 // Iteration of oops
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);
389 void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map);
390 int adjust_offset(methodOop method, int index); // helper for above fn
391 public:
392 // Memory management
393 void oops_do(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map) { oops_do_internal(f, cf, map, true); }
394 void nmethods_do(CodeBlobClosure* cf);
395
396 void gc_prologue();
397 void gc_epilogue();
398 void pd_gc_epilog();
399
400 # ifdef ENABLE_ZAP_DEAD_LOCALS
401 private:
402 class CheckValueClosure: public OopClosure {
403 public:
404 void do_oop(oop* p);
|