1981 void store_klass(Register dst_oop, Register s1);
1982
1983 // oop manipulations
1984 void load_heap_oop(const Address& s, Register d, int offset = 0);
1985 void load_heap_oop(Register s1, Register s2, Register d);
1986 void load_heap_oop(Register s1, int simm13a, Register d);
1987 void store_heap_oop(Register d, Register s1, Register s2);
1988 void store_heap_oop(Register d, Register s1, int simm13a);
1989 void store_heap_oop(Register d, const Address& a, int offset = 0);
1990
1991 void encode_heap_oop(Register src, Register dst);
1992 void encode_heap_oop(Register r) {
1993 encode_heap_oop(r, r);
1994 }
1995 void decode_heap_oop(Register src, Register dst);
1996 void decode_heap_oop(Register r) {
1997 decode_heap_oop(r, r);
1998 }
1999 void encode_heap_oop_not_null(Register r);
2000 void decode_heap_oop_not_null(Register r);
2001
2002 // Support for managing the JavaThread pointer (i.e.; the reference to
2003 // thread-local information).
2004 void get_thread(); // load G2_thread
2005 void verify_thread(); // verify G2_thread contents
2006 void save_thread (const Register threache); // save to cache
2007 void restore_thread(const Register thread_cache); // restore from cache
2008
2009 // Support for last Java frame (but use call_VM instead where possible)
2010 void set_last_Java_frame(Register last_java_sp, Register last_Java_pc);
2011 void reset_last_Java_frame(void);
2012
2013 // Call into the VM.
2014 // Passes the thread pointer (in O0) as a prepended argument.
2015 // Makes sure oop return values are visible to the GC.
2016 void call_VM(Register oop_result, address entry_point, int number_of_arguments = 0, bool check_exceptions = true);
2017 void call_VM(Register oop_result, address entry_point, Register arg_1, bool check_exceptions = true);
2018 void call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, bool check_exceptions = true);
2019 void call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, Register arg_3, bool check_exceptions = true);
2020
|
1981 void store_klass(Register dst_oop, Register s1);
1982
1983 // oop manipulations
1984 void load_heap_oop(const Address& s, Register d, int offset = 0);
1985 void load_heap_oop(Register s1, Register s2, Register d);
1986 void load_heap_oop(Register s1, int simm13a, Register d);
1987 void store_heap_oop(Register d, Register s1, Register s2);
1988 void store_heap_oop(Register d, Register s1, int simm13a);
1989 void store_heap_oop(Register d, const Address& a, int offset = 0);
1990
1991 void encode_heap_oop(Register src, Register dst);
1992 void encode_heap_oop(Register r) {
1993 encode_heap_oop(r, r);
1994 }
1995 void decode_heap_oop(Register src, Register dst);
1996 void decode_heap_oop(Register r) {
1997 decode_heap_oop(r, r);
1998 }
1999 void encode_heap_oop_not_null(Register r);
2000 void decode_heap_oop_not_null(Register r);
2001 void encode_heap_oop_not_null(Register src, Register dst);
2002 void decode_heap_oop_not_null(Register src, Register dst);
2003
2004 // Support for managing the JavaThread pointer (i.e.; the reference to
2005 // thread-local information).
2006 void get_thread(); // load G2_thread
2007 void verify_thread(); // verify G2_thread contents
2008 void save_thread (const Register threache); // save to cache
2009 void restore_thread(const Register thread_cache); // restore from cache
2010
2011 // Support for last Java frame (but use call_VM instead where possible)
2012 void set_last_Java_frame(Register last_java_sp, Register last_Java_pc);
2013 void reset_last_Java_frame(void);
2014
2015 // Call into the VM.
2016 // Passes the thread pointer (in O0) as a prepended argument.
2017 // Makes sure oop return values are visible to the GC.
2018 void call_VM(Register oop_result, address entry_point, int number_of_arguments = 0, bool check_exceptions = true);
2019 void call_VM(Register oop_result, address entry_point, Register arg_1, bool check_exceptions = true);
2020 void call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, bool check_exceptions = true);
2021 void call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, Register arg_3, bool check_exceptions = true);
2022
|