52 stub(new_type_array) \ |
52 stub(new_type_array) \ |
53 stub(new_object_array) \ |
53 stub(new_object_array) \ |
54 stub(new_multi_array) \ |
54 stub(new_multi_array) \ |
55 stub(handle_exception_nofpu) /* optimized version that does not preserve fpu registers */ \ |
55 stub(handle_exception_nofpu) /* optimized version that does not preserve fpu registers */ \ |
56 stub(handle_exception) \ |
56 stub(handle_exception) \ |
|
57 stub(handle_exception_from_callee) \ |
57 stub(throw_array_store_exception) \ |
58 stub(throw_array_store_exception) \ |
58 stub(throw_class_cast_exception) \ |
59 stub(throw_class_cast_exception) \ |
59 stub(throw_incompatible_class_change_error) \ |
60 stub(throw_incompatible_class_change_error) \ |
60 stub(slow_subtype_check) \ |
61 stub(slow_subtype_check) \ |
61 stub(monitorenter) \ |
62 stub(monitorenter) \ |
114 private: |
115 private: |
115 static CodeBlob* _blobs[number_of_ids]; |
116 static CodeBlob* _blobs[number_of_ids]; |
116 static const char* _blob_names[]; |
117 static const char* _blob_names[]; |
117 |
118 |
118 // stub generation |
119 // stub generation |
119 static void generate_blob_for(BufferBlob* blob, StubID id); |
120 static void generate_blob_for(BufferBlob* blob, StubID id); |
120 static OopMapSet* generate_code_for(StubID id, StubAssembler* masm); |
121 static OopMapSet* generate_code_for(StubID id, StubAssembler* sasm); |
121 static OopMapSet* generate_exception_throw(StubAssembler* sasm, address target, bool has_argument); |
122 static OopMapSet* generate_exception_throw(StubAssembler* sasm, address target, bool has_argument); |
122 static void generate_handle_exception(StubAssembler *sasm, OopMapSet* oop_maps, OopMap* oop_map, bool ignore_fpu_registers = false); |
123 static OopMapSet* generate_handle_exception(StubID id, StubAssembler* sasm); |
123 static void generate_unwind_exception(StubAssembler *sasm); |
124 static void generate_unwind_exception(StubAssembler *sasm); |
124 static OopMapSet* generate_patching(StubAssembler* sasm, address target); |
125 static OopMapSet* generate_patching(StubAssembler* sasm, address target); |
125 |
126 |
126 static OopMapSet* generate_stub_call(StubAssembler* sasm, Register result, address entry, |
127 static OopMapSet* generate_stub_call(StubAssembler* sasm, Register result, address entry, |
127 Register arg1 = noreg, Register arg2 = noreg, Register arg3 = noreg); |
128 Register arg1 = noreg, Register arg2 = noreg, Register arg3 = noreg); |
128 |
129 |