comparison src/cpu/x86/vm/assembler_x86.hpp @ 1846:d55217dc206f

6829194: JSR 292 needs to support compressed oops Reviewed-by: kvn, jrose
author twisti
date Mon, 11 Oct 2010 04:18:58 -0700
parents d6f45b55c972
children 2fe998383789
comparison
equal deleted inserted replaced
1845:a222fcfba398 1846:d55217dc206f
1680 1680
1681 // oop manipulations 1681 // oop manipulations
1682 void load_klass(Register dst, Register src); 1682 void load_klass(Register dst, Register src);
1683 void store_klass(Register dst, Register src); 1683 void store_klass(Register dst, Register src);
1684 1684
1685 void load_heap_oop(Register dst, Address src);
1686 void store_heap_oop(Address dst, Register src);
1687
1688 // Used for storing NULL. All other oop constants should be
1689 // stored using routines that take a jobject.
1690 void store_heap_oop_null(Address dst);
1691
1685 void load_prototype_header(Register dst, Register src); 1692 void load_prototype_header(Register dst, Register src);
1686 1693
1687 #ifdef _LP64 1694 #ifdef _LP64
1688 void store_klass_gap(Register dst, Register src); 1695 void store_klass_gap(Register dst, Register src);
1689
1690 void load_heap_oop(Register dst, Address src);
1691 void store_heap_oop(Address dst, Register src);
1692 1696
1693 // This dummy is to prevent a call to store_heap_oop from 1697 // This dummy is to prevent a call to store_heap_oop from
1694 // converting a zero (like NULL) into a Register by giving 1698 // converting a zero (like NULL) into a Register by giving
1695 // the compiler two choices it can't resolve 1699 // the compiler two choices it can't resolve
1696 1700
1697 void store_heap_oop(Address dst, void* dummy); 1701 void store_heap_oop(Address dst, void* dummy);
1698
1699 // Used for storing NULL. All other oop constants should be
1700 // stored using routines that take a jobject.
1701 void store_heap_oop_null(Address dst);
1702 1702
1703 void encode_heap_oop(Register r); 1703 void encode_heap_oop(Register r);
1704 void decode_heap_oop(Register r); 1704 void decode_heap_oop(Register r);
1705 void encode_heap_oop_not_null(Register r); 1705 void encode_heap_oop_not_null(Register r);
1706 void decode_heap_oop_not_null(Register r); 1706 void decode_heap_oop_not_null(Register r);
1925 1925
1926 void os_breakpoint(); 1926 void os_breakpoint();
1927 1927
1928 void untested() { stop("untested"); } 1928 void untested() { stop("untested"); }
1929 1929
1930 void unimplemented(const char* what = "") { char* b = new char[1024]; jio_snprintf(b, sizeof(b), "unimplemented: %s", what); stop(b); } 1930 void unimplemented(const char* what = "") { char* b = new char[1024]; jio_snprintf(b, 1024, "unimplemented: %s", what); stop(b); }
1931 1931
1932 void should_not_reach_here() { stop("should not reach here"); } 1932 void should_not_reach_here() { stop("should not reach here"); }
1933 1933
1934 void print_CPU_state(); 1934 void print_CPU_state();
1935 1935