21 * or visit www.oracle.com if you need additional information or have any |
21 * or visit www.oracle.com if you need additional information or have any |
22 * questions. |
22 * questions. |
23 * |
23 * |
24 */ |
24 */ |
25 |
25 |
|
26 #ifndef CPU_MIPS_VM_C1_LIRASSEMBLER_MIPS_HPP |
|
27 #define CPU_MIPS_VM_C1_LIRASSEMBLER_MIPS_HPP |
|
28 |
26 private: |
29 private: |
27 |
30 |
28 Address::ScaleFactor array_element_size(BasicType type) const; |
31 Address::ScaleFactor array_element_size(BasicType type) const; |
29 |
|
30 void monitorexit(LIR_Opr obj_opr, LIR_Opr lock_opr, Register new_hdr, int monitor_no, Register exception); |
|
31 |
32 |
32 void arith_fpu_implementation(LIR_Code code, int left_index, int right_index, int dest_index, bool pop_fpu_stack); |
33 void arith_fpu_implementation(LIR_Code code, int left_index, int right_index, int dest_index, bool pop_fpu_stack); |
33 |
34 |
34 // helper functions which checks for overflow and sets bailout if it |
35 // helper functions which checks for overflow and sets bailout if it |
35 // occurs. Always returns a valid embeddable pointer but in the |
36 // occurs. Always returns a valid embeddable pointer but in the |
41 |
42 |
42 // When we need to use something other than rscratch1 use this |
43 // When we need to use something other than rscratch1 use this |
43 // method. |
44 // method. |
44 Address as_Address(LIR_Address* addr, Register tmp); |
45 Address as_Address(LIR_Address* addr, Register tmp); |
45 |
46 |
|
47 // Record the type of the receiver in ReceiverTypeData |
|
48 void type_profile_helper(Register mdo, |
|
49 ciMethodData *md, ciProfileData *data, |
|
50 Register recv, Label* update_done); |
46 |
51 |
47 public: |
52 public: |
48 |
53 |
49 void store_parameter(Register r, int offset_from_esp_in_words); |
54 void store_parameter(Register r, int offset_from_esp_in_words); |
50 void store_parameter(jint c, int offset_from_esp_in_words); |
55 void store_parameter(jint c, int offset_from_esp_in_words); |
51 void store_parameter(jobject c, int offset_from_esp_in_words); |
56 void store_parameter(jobject c, int offset_from_esp_in_words); |
52 |
57 |
53 //enum { call_stub_size = NOT_LP64(24) LP64_ONLY(40), |
58 enum { call_stub_size = NOT_LP64(24) LP64_ONLY(40), |
54 enum { call_stub_size = NOT_LP64(24) LP64_ONLY(500), //aoqi_test |
|
55 exception_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(175), |
59 exception_handler_size = DEBUG_ONLY(1*K) NOT_DEBUG(175), |
56 deopt_handler_size = NOT_LP64(16) LP64_ONLY(32) |
60 deopt_handler_size = NOT_LP64(16) LP64_ONLY(32) |
57 }; |
61 }; |
|
62 |
|
63 #endif // CPU_MIPS_VM_C1_LIRASSEMBLER_MIPS_HPP |