840 // Round up to a power of two
841 void round_to(Register reg, int modulus);
842
843 // allocation
844 void eden_allocate(
845 Register obj, // result: pointer to object after successful allocation
846 Register var_size_in_bytes, // object size in bytes if unknown at compile time; invalid otherwise
847 int con_size_in_bytes, // object size in bytes if known at compile time
848 Register t1, // temp register
849 Label& slow_case // continuation point if fast allocation fails
850 );
851 void tlab_allocate(
852 Register obj, // result: pointer to object after successful allocation
853 Register var_size_in_bytes, // object size in bytes if unknown at compile time; invalid otherwise
854 int con_size_in_bytes, // object size in bytes if known at compile time
855 Register t1, // temp register
856 Register t2, // temp register
857 Label& slow_case // continuation point if fast allocation fails
858 );
859 Register tlab_refill(Label& retry_tlab, Label& try_eden, Label& slow_case); // returns TLS address
860 void verify_tlab();
861
862 void incr_allocated_bytes(Register thread,
863 Register var_size_in_bytes, int con_size_in_bytes,
864 Register t1 = noreg);
865
866 // interface method calling
867 void lookup_interface_method(Register recv_klass,
868 Register intf_klass,
869 RegisterOrConstant itable_index,
870 Register method_result,
871 Register scan_temp,
872 Label& no_such_interface);
873
874 // virtual method calling
875 // n.b. x86 allows RegisterOrConstant for vtable_index
876 void lookup_virtual_method(Register recv_klass,
877 RegisterOrConstant vtable_index,
878 Register method_result);
879
|
840 // Round up to a power of two
841 void round_to(Register reg, int modulus);
842
843 // allocation
844 void eden_allocate(
845 Register obj, // result: pointer to object after successful allocation
846 Register var_size_in_bytes, // object size in bytes if unknown at compile time; invalid otherwise
847 int con_size_in_bytes, // object size in bytes if known at compile time
848 Register t1, // temp register
849 Label& slow_case // continuation point if fast allocation fails
850 );
851 void tlab_allocate(
852 Register obj, // result: pointer to object after successful allocation
853 Register var_size_in_bytes, // object size in bytes if unknown at compile time; invalid otherwise
854 int con_size_in_bytes, // object size in bytes if known at compile time
855 Register t1, // temp register
856 Register t2, // temp register
857 Label& slow_case // continuation point if fast allocation fails
858 );
859 Register tlab_refill(Label& retry_tlab, Label& try_eden, Label& slow_case); // returns TLS address
860 void zero_memory(Register addr, Register len, Register t1);
861 void verify_tlab();
862
863 void incr_allocated_bytes(Register thread,
864 Register var_size_in_bytes, int con_size_in_bytes,
865 Register t1 = noreg);
866
867 // interface method calling
868 void lookup_interface_method(Register recv_klass,
869 Register intf_klass,
870 RegisterOrConstant itable_index,
871 Register method_result,
872 Register scan_temp,
873 Label& no_such_interface);
874
875 // virtual method calling
876 // n.b. x86 allows RegisterOrConstant for vtable_index
877 void lookup_virtual_method(Register recv_klass,
878 RegisterOrConstant vtable_index,
879 Register method_result);
880
|