src/cpu/x86/vm/interp_masm_x86_64.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/cpu/x86/vm/interp_masm_x86_64.hpp
src/cpu/x86/vm/interp_masm_x86_64.hpp
Print this page
rev 5468 : 8026251: New type profiling points: parameters to methods
Summary: x86 interpreter and c1 type profiling for parameters on method entries
Reviewed-by:
rev 5469 : [mq]: parameters-review
*** 20,41 ****
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
- #ifndef CPU_X86_VM_INTERP_MASM_X86_64_HPP
- #define CPU_X86_VM_INTERP_MASM_X86_64_HPP
-
- #include "asm/macroAssembler.hpp"
- #include "asm/macroAssembler.inline.hpp"
- #include "interpreter/invocationCounter.hpp"
- #include "runtime/frame.hpp"
-
- // This file specializes the assember with interpreter-specific macros
-
-
- class InterpreterMacroAssembler: public MacroAssembler {
#ifndef CC_INTERP
protected:
// Interpreter specific version of call_VM_base
virtual void call_VM_leaf_base(address entry_point,
int number_of_arguments);
--- 20,29 ----
*** 53,63 ****
// base routine for all dispatches
void dispatch_base(TosState state, address* table, bool verifyoop = true);
#endif // CC_INTERP
public:
! InterpreterMacroAssembler(CodeBuffer* code) : MacroAssembler(code) {}
void load_earlyret_value(TosState state);
#ifdef CC_INTERP
void save_bcp() { /* not needed in c++ interpreter and harmless */ }
--- 41,51 ----
// base routine for all dispatches
void dispatch_base(TosState state, address* table, bool verifyoop = true);
#endif // CC_INTERP
public:
! InterpreterMacroAssembler(CodeBuffer* code) : MacroAssembler(code), _locals_register(r14), _bcp_register(r13) {}
void load_earlyret_value(TosState state);
#ifdef CC_INTERP
void save_bcp() { /* not needed in c++ interpreter and harmless */ }
*** 222,234 ****
void update_mdp_by_constant(Register mdp_in, int constant);
void update_mdp_for_ret(Register return_bci);
void profile_taken_branch(Register mdp, Register bumped_count);
void profile_not_taken_branch(Register mdp);
- void profile_obj_type(Register obj, const Address& mdo_addr);
- void profile_arguments_type(Register mdp, Register callee, Register tmp, bool is_virtual);
- void profile_return_type(Register mdp, Register ret, Register tmp);
void profile_call(Register mdp);
void profile_final_call(Register mdp);
void profile_virtual_call(Register receiver, Register mdp,
Register scratch2,
bool receiver_can_be_null = false);
--- 210,219 ----
*** 251,258 ****
typedef enum { NotifyJVMTI, SkipNotifyJVMTI } NotifyMethodExitMode;
// support for jvmti/dtrace
void notify_method_entry();
void notify_method_exit(TosState state, NotifyMethodExitMode mode);
- };
-
- #endif // CPU_X86_VM_INTERP_MASM_X86_64_HPP
--- 236,240 ----
src/cpu/x86/vm/interp_masm_x86_64.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File