< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.hpp

Print this page
rev 50307 : [mq]: cont


 478   // from register xmm0. Otherwise, the value is stored from the FPU stack.
 479   void store_double(Address dst);
 480 
 481   // pushes double TOS element of FPU stack on CPU stack; pops from FPU stack
 482   void push_fTOS();
 483 
 484   // pops double TOS element from CPU stack and pushes on FPU stack
 485   void pop_fTOS();
 486 
 487   void empty_FPU_stack();
 488 
 489   void push_IU_state();
 490   void pop_IU_state();
 491 
 492   void push_FPU_state();
 493   void pop_FPU_state();
 494 
 495   void push_CPU_state();
 496   void pop_CPU_state();
 497 


 498   // Round up to a power of two
 499   void round_to(Register reg, int modulus);
 500 
 501   // Callee saved registers handling
 502   void push_callee_saved_registers();
 503   void pop_callee_saved_registers();
 504 
 505   // allocation
 506   void eden_allocate(
 507     Register obj,                      // result: pointer to object after successful allocation
 508     Register var_size_in_bytes,        // object size in bytes if unknown at compile time; invalid otherwise
 509     int      con_size_in_bytes,        // object size in bytes if   known at compile time
 510     Register t1,                       // temp register
 511     Label&   slow_case                 // continuation point if fast allocation fails
 512   );
 513   void tlab_allocate(
 514     Register obj,                      // result: pointer to object after successful allocation
 515     Register var_size_in_bytes,        // object size in bytes if unknown at compile time; invalid otherwise
 516     int      con_size_in_bytes,        // object size in bytes if   known at compile time
 517     Register t1,                       // temp register


 853   void call(AddressLiteral entry);
 854 
 855   // Emit the CompiledIC call idiom
 856   void ic_call(address entry, jint method_index = 0);
 857 
 858   // Jumps
 859 
 860   // NOTE: these jumps tranfer to the effective address of dst NOT
 861   // the address contained by dst. This is because this is more natural
 862   // for jumps/calls.
 863   void jump(AddressLiteral dst);
 864   void jump_cc(Condition cc, AddressLiteral dst);
 865 
 866   // 32bit can do a case table jump in one instruction but we no longer allow the base
 867   // to be installed in the Address class. This jump will tranfers to the address
 868   // contained in the location described by entry (not the address of entry)
 869   void jump(ArrayAddress entry);
 870 
 871   // Floating
 872 





 873   void andpd(XMMRegister dst, Address src) { Assembler::andpd(dst, src); }
 874   void andpd(XMMRegister dst, AddressLiteral src);
 875   void andpd(XMMRegister dst, XMMRegister src) { Assembler::andpd(dst, src); }
 876 
 877   void andps(XMMRegister dst, XMMRegister src) { Assembler::andps(dst, src); }
 878   void andps(XMMRegister dst, Address src) { Assembler::andps(dst, src); }
 879   void andps(XMMRegister dst, AddressLiteral src);
 880 
 881   void comiss(XMMRegister dst, XMMRegister src) { Assembler::comiss(dst, src); }
 882   void comiss(XMMRegister dst, Address src) { Assembler::comiss(dst, src); }
 883   void comiss(XMMRegister dst, AddressLiteral src);
 884 
 885   void comisd(XMMRegister dst, XMMRegister src) { Assembler::comisd(dst, src); }
 886   void comisd(XMMRegister dst, Address src) { Assembler::comisd(dst, src); }
 887   void comisd(XMMRegister dst, AddressLiteral src);
 888 
 889   void fadd_s(Address src)        { Assembler::fadd_s(src); }
 890   void fadd_s(AddressLiteral src) { Assembler::fadd_s(as_Address(src)); }
 891 
 892   void fldcw(Address src) { Assembler::fldcw(src); }




 478   // from register xmm0. Otherwise, the value is stored from the FPU stack.
 479   void store_double(Address dst);
 480 
 481   // pushes double TOS element of FPU stack on CPU stack; pops from FPU stack
 482   void push_fTOS();
 483 
 484   // pops double TOS element from CPU stack and pushes on FPU stack
 485   void pop_fTOS();
 486 
 487   void empty_FPU_stack();
 488 
 489   void push_IU_state();
 490   void pop_IU_state();
 491 
 492   void push_FPU_state();
 493   void pop_FPU_state();
 494 
 495   void push_CPU_state();
 496   void pop_CPU_state();
 497 
 498   DEBUG_ONLY(void stop_if_in_cont(Register cont_reg, const char* name);)
 499 
 500   // Round up to a power of two
 501   void round_to(Register reg, int modulus);
 502 
 503   // Callee saved registers handling
 504   void push_callee_saved_registers();
 505   void pop_callee_saved_registers();
 506 
 507   // allocation
 508   void eden_allocate(
 509     Register obj,                      // result: pointer to object after successful allocation
 510     Register var_size_in_bytes,        // object size in bytes if unknown at compile time; invalid otherwise
 511     int      con_size_in_bytes,        // object size in bytes if   known at compile time
 512     Register t1,                       // temp register
 513     Label&   slow_case                 // continuation point if fast allocation fails
 514   );
 515   void tlab_allocate(
 516     Register obj,                      // result: pointer to object after successful allocation
 517     Register var_size_in_bytes,        // object size in bytes if unknown at compile time; invalid otherwise
 518     int      con_size_in_bytes,        // object size in bytes if   known at compile time
 519     Register t1,                       // temp register


 855   void call(AddressLiteral entry);
 856 
 857   // Emit the CompiledIC call idiom
 858   void ic_call(address entry, jint method_index = 0);
 859 
 860   // Jumps
 861 
 862   // NOTE: these jumps tranfer to the effective address of dst NOT
 863   // the address contained by dst. This is because this is more natural
 864   // for jumps/calls.
 865   void jump(AddressLiteral dst);
 866   void jump_cc(Condition cc, AddressLiteral dst);
 867 
 868   // 32bit can do a case table jump in one instruction but we no longer allow the base
 869   // to be installed in the Address class. This jump will tranfers to the address
 870   // contained in the location described by entry (not the address of entry)
 871   void jump(ArrayAddress entry);
 872 
 873   // Floating
 874 
 875   void push_f(XMMRegister r);
 876   void pop_f(XMMRegister r);
 877   void push_d(XMMRegister r);
 878   void pop_d(XMMRegister r);
 879   
 880   void andpd(XMMRegister dst, Address src) { Assembler::andpd(dst, src); }
 881   void andpd(XMMRegister dst, AddressLiteral src);
 882   void andpd(XMMRegister dst, XMMRegister src) { Assembler::andpd(dst, src); }
 883 
 884   void andps(XMMRegister dst, XMMRegister src) { Assembler::andps(dst, src); }
 885   void andps(XMMRegister dst, Address src) { Assembler::andps(dst, src); }
 886   void andps(XMMRegister dst, AddressLiteral src);
 887 
 888   void comiss(XMMRegister dst, XMMRegister src) { Assembler::comiss(dst, src); }
 889   void comiss(XMMRegister dst, Address src) { Assembler::comiss(dst, src); }
 890   void comiss(XMMRegister dst, AddressLiteral src);
 891 
 892   void comisd(XMMRegister dst, XMMRegister src) { Assembler::comisd(dst, src); }
 893   void comisd(XMMRegister dst, Address src) { Assembler::comisd(dst, src); }
 894   void comisd(XMMRegister dst, AddressLiteral src);
 895 
 896   void fadd_s(Address src)        { Assembler::fadd_s(src); }
 897   void fadd_s(AddressLiteral src) { Assembler::fadd_s(as_Address(src)); }
 898 
 899   void fldcw(Address src) { Assembler::fldcw(src); }


< prev index next >