comparison src/share/vm/c1/c1_Compilation.cpp @ 1201:24128c2ffa87

6921339: backout 6917766 Reviewed-by: mr
author twisti
date Fri, 29 Jan 2010 08:33:24 -0800
parents ba263cfb7611
children 18a389214829
comparison
equal deleted inserted replaced
1200:ba263cfb7611 1201:24128c2ffa87
1 /* 1 /*
2 * Copyright 1999-2010 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
203 203
204 204
205 void Compilation::emit_code_epilog(LIR_Assembler* assembler) { 205 void Compilation::emit_code_epilog(LIR_Assembler* assembler) {
206 CHECK_BAILOUT(); 206 CHECK_BAILOUT();
207 207
208 CodeOffsets* code_offsets = assembler->offsets();
209
210 // generate code or slow cases 208 // generate code or slow cases
211 assembler->emit_slow_case_stubs(); 209 assembler->emit_slow_case_stubs();
212 CHECK_BAILOUT(); 210 CHECK_BAILOUT();
213 211
214 // generate exception adapters 212 // generate exception adapters
215 assembler->emit_exception_entries(exception_info_list()); 213 assembler->emit_exception_entries(exception_info_list());
216 CHECK_BAILOUT(); 214 CHECK_BAILOUT();
217 215
218 // Generate code for exception handler. 216 // generate code for exception handler
219 code_offsets->set_value(CodeOffsets::Exceptions, assembler->emit_exception_handler()); 217 assembler->emit_exception_handler();
220 CHECK_BAILOUT(); 218 CHECK_BAILOUT();
221 219 assembler->emit_deopt_handler();
222 // Generate code for deopt handler.
223 code_offsets->set_value(CodeOffsets::Deopt, assembler->emit_deopt_handler());
224 CHECK_BAILOUT();
225
226 // Generate code for MethodHandle deopt handler. We can use the
227 // same code as for the normal deopt handler, we just need a
228 // different entry point address.
229 code_offsets->set_value(CodeOffsets::DeoptMH, assembler->emit_deopt_handler());
230 CHECK_BAILOUT(); 220 CHECK_BAILOUT();
231 221
232 // done 222 // done
233 masm()->flush(); 223 masm()->flush();
234 } 224 }