comparison src/share/vm/runtime/frame.hpp @ 2177:3582bf76420e

6990754: Use native memory and reference counting to implement SymbolTable Summary: move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank
author coleenp
date Thu, 27 Jan 2011 16:11:27 -0800
parents 09b4dd4f152b
children b92c45f2bc75
comparison
equal deleted inserted replaced
2176:27e4ea99855d 2177:3582bf76420e
259 BasicLock* get_native_monitor(); 259 BasicLock* get_native_monitor();
260 oop get_native_receiver(); 260 oop get_native_receiver();
261 261
262 // Find receiver for an invoke when arguments are just pushed on stack (i.e., callee stack-frame is 262 // Find receiver for an invoke when arguments are just pushed on stack (i.e., callee stack-frame is
263 // not setup) 263 // not setup)
264 oop interpreter_callee_receiver(symbolHandle signature) { return *interpreter_callee_receiver_addr(signature); } 264 oop interpreter_callee_receiver(Symbol* signature) { return *interpreter_callee_receiver_addr(signature); }
265 265
266 266
267 oop* interpreter_callee_receiver_addr(symbolHandle signature); 267 oop* interpreter_callee_receiver_addr(Symbol* signature);
268 268
269 269
270 // expression stack (may go up or down, direction == 1 or -1) 270 // expression stack (may go up or down, direction == 1 or -1)
271 public: 271 public:
272 intptr_t* interpreter_frame_expression_stack() const; 272 intptr_t* interpreter_frame_expression_stack() const;
384 384
385 // Conversion from an VMReg to physical stack location 385 // Conversion from an VMReg to physical stack location
386 oop* oopmapreg_to_location(VMReg reg, const RegisterMap* regmap) const; 386 oop* oopmapreg_to_location(VMReg reg, const RegisterMap* regmap) const;
387 387
388 // Oops-do's 388 // Oops-do's
389 void oops_compiled_arguments_do(symbolHandle signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f); 389 void oops_compiled_arguments_do(Symbol* signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f);
390 void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true); 390 void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true);
391 391
392 private: 392 private:
393 void oops_interpreted_arguments_do(symbolHandle signature, bool has_receiver, OopClosure* f); 393 void oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f);
394 394
395 // Iteration of oops 395 // Iteration of oops
396 void oops_do_internal(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache); 396 void oops_do_internal(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache);
397 void oops_entry_do(OopClosure* f, const RegisterMap* map); 397 void oops_entry_do(OopClosure* f, const RegisterMap* map);
398 void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map); 398 void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map);