src/cpu/x86/vm/interp_masm_x86_32.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/cpu/x86/vm/interp_masm_x86_32.hpp
src/cpu/x86/vm/interp_masm_x86_32.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_32_HPP
- #define CPU_X86_VM_INTERP_MASM_X86_32_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,
--- 20,29 ----
*** 57,67 ****
// 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);
// Interpreter-specific registers
#ifdef CC_INTERP
--- 45,55 ----
// 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(rdi), _bcp_register(rsi) {}
void load_earlyret_value(TosState state);
// Interpreter-specific registers
#ifdef CC_INTERP
*** 213,225 ****
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);
void profile_ret(Register return_bci, Register mdp);
--- 201,210 ----
*** 234,242 ****
typedef enum { NotifyJVMTI, SkipNotifyJVMTI } NotifyMethodExitMode;
// support for jvmti
void notify_method_entry();
void notify_method_exit(TosState state, NotifyMethodExitMode mode);
-
- };
-
- #endif // CPU_X86_VM_INTERP_MASM_X86_32_HPP
--- 219,223 ----
src/cpu/x86/vm/interp_masm_x86_32.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File