mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
6943304: remove tagged stack interpreter
Reviewed-by: coleenp, never, gbenson
This commit is contained in:
parent
55457c9cc7
commit
0211f9703a
51 changed files with 510 additions and 1891 deletions
|
@ -149,7 +149,6 @@ class InterpreterMacroAssembler: public MacroAssembler {
|
|||
|
||||
void push_i( Register r = Otos_i);
|
||||
void push_ptr( Register r = Otos_i);
|
||||
void push_ptr( Register r, Register tag);
|
||||
void push_l( Register r = Otos_l1);
|
||||
void push_f(FloatRegister f = Ftos_f);
|
||||
void push_d(FloatRegister f = Ftos_d1);
|
||||
|
@ -159,17 +158,9 @@ class InterpreterMacroAssembler: public MacroAssembler {
|
|||
void push(TosState state); // transition state -> vtos
|
||||
void empty_expression_stack(); // resets both Lesp and SP
|
||||
|
||||
// Support for Tagged Stacks
|
||||
void tag_stack(frame::Tag t, Register r);
|
||||
void tag_stack(Register tag);
|
||||
void tag_local(frame::Tag t, Register src, Register base, int n = 0);
|
||||
|
||||
#ifdef ASSERT
|
||||
void verify_sp(Register Rsp, Register Rtemp);
|
||||
void verify_esp(Register Resp); // verify that Lesp points to a word in the temp stack
|
||||
|
||||
void verify_stack_tag(frame::Tag t, Register r, Register scratch = G0);
|
||||
void verify_local_tag(frame::Tag t, Register base, Register scr, int n = 0);
|
||||
#endif // ASSERT
|
||||
|
||||
public:
|
||||
|
@ -242,17 +233,17 @@ class InterpreterMacroAssembler: public MacroAssembler {
|
|||
void check_for_regarea_stomp( Register Rindex, int offset, Register Rlimit, Register Rscratch, Register Rscratch1);
|
||||
#endif // ASSERT
|
||||
void store_local_int( Register index, Register src );
|
||||
void store_local_ptr( Register index, Register src, Register tag = Otos_l2 );
|
||||
void store_local_ptr( int n, Register src, Register tag = Otos_l2 );
|
||||
void store_local_ptr( Register index, Register src );
|
||||
void store_local_ptr( int n, Register src );
|
||||
void store_local_long( Register index, Register src );
|
||||
void store_local_float( Register index, FloatRegister src );
|
||||
void store_local_double( Register index, FloatRegister src );
|
||||
|
||||
// Tagged stack helpers for swap and dup
|
||||
void load_ptr_and_tag(int n, Register val, Register tag);
|
||||
void store_ptr_and_tag(int n, Register val, Register tag);
|
||||
// Helpers for swap and dup
|
||||
void load_ptr(int n, Register val);
|
||||
void store_ptr(int n, Register val);
|
||||
|
||||
// Tagged stack helper for getting receiver in register.
|
||||
// Helper for getting receiver in register.
|
||||
void load_receiver(Register param_count, Register recv);
|
||||
|
||||
static int top_most_monitor_byte_offset(); // offset in bytes to top of monitor block
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue