comparison src/cpu/x86/vm/assembler_x86.hpp @ 3255:5d046bf49ce7

Merge
author johnc
date Thu, 14 Apr 2011 13:45:41 -0700
parents d86923d96dca 92add02409c9
children 2e038ad0c1d0
comparison
equal deleted inserted replaced
2468:6c97c830fb6f 3255:5d046bf49ce7
1451 // on arguments should also go in here. 1451 // on arguments should also go in here.
1452 1452
1453 class MacroAssembler: public Assembler { 1453 class MacroAssembler: public Assembler {
1454 friend class LIR_Assembler; 1454 friend class LIR_Assembler;
1455 friend class Runtime1; // as_Address() 1455 friend class Runtime1; // as_Address()
1456
1456 protected: 1457 protected:
1457 1458
1458 Address as_Address(AddressLiteral adr); 1459 Address as_Address(AddressLiteral adr);
1459 Address as_Address(ArrayAddress adr); 1460 Address as_Address(ArrayAddress adr);
1460 1461
1672 1673
1673 // Stores 1674 // Stores
1674 void store_check(Register obj); // store check for obj - register is destroyed afterwards 1675 void store_check(Register obj); // store check for obj - register is destroyed afterwards
1675 void store_check(Register obj, Address dst); // same as above, dst is exact store location (reg. is destroyed) 1676 void store_check(Register obj, Address dst); // same as above, dst is exact store location (reg. is destroyed)
1676 1677
1678 #ifndef SERIALGC
1679
1677 void g1_write_barrier_pre(Register obj, 1680 void g1_write_barrier_pre(Register obj,
1678 #ifndef _LP64 1681 Register pre_val,
1679 Register thread, 1682 Register thread,
1680 #endif
1681 Register tmp, 1683 Register tmp,
1682 Register tmp2, 1684 bool tosca_live,
1683 bool tosca_live); 1685 bool expand_call);
1686
1684 void g1_write_barrier_post(Register store_addr, 1687 void g1_write_barrier_post(Register store_addr,
1685 Register new_val, 1688 Register new_val,
1686 #ifndef _LP64
1687 Register thread, 1689 Register thread,
1688 #endif
1689 Register tmp, 1690 Register tmp,
1690 Register tmp2); 1691 Register tmp2);
1691 1692
1693 #endif // SERIALGC
1692 1694
1693 // split store_check(Register obj) to enhance instruction interleaving 1695 // split store_check(Register obj) to enhance instruction interleaving
1694 void store_check_part_1(Register obj); 1696 void store_check_part_1(Register obj);
1695 void store_check_part_2(Register obj); 1697 void store_check_part_2(Register obj);
1696 1698