comparison src/cpu/x86/vm/c1_CodeStubs_x86.cpp @ 1295:3cf667df43ef

6919934: JSR 292 needs to support x86 C1 Summary: This implements JSR 292 support for C1 x86. Reviewed-by: never, jrose, kvn
author twisti
date Tue, 09 Mar 2010 20:16:19 +0100
parents eb28cf662f56
children c18cbe5936b8
comparison
equal deleted inserted replaced
1293:51db1e4b379d 1295:3cf667df43ef
1 /* 1 /*
2 * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright 1999-2010 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.
371 relocInfo::change_reloc_info_for_address(&iter, (address) _pc_start, relocInfo::oop_type, relocInfo::none); 371 relocInfo::change_reloc_info_for_address(&iter, (address) _pc_start, relocInfo::oop_type, relocInfo::none);
372 } 372 }
373 } 373 }
374 374
375 375
376 void DeoptimizeStub::emit_code(LIR_Assembler* ce) {
377 __ bind(_entry);
378 __ call(RuntimeAddress(SharedRuntime::deopt_blob()->unpack_with_reexecution()));
379 ce->add_call_info_here(_info);
380 debug_only(__ should_not_reach_here());
381 }
382
383
376 void ImplicitNullCheckStub::emit_code(LIR_Assembler* ce) { 384 void ImplicitNullCheckStub::emit_code(LIR_Assembler* ce) {
377 ce->compilation()->implicit_exception_table()->append(_offset, __ offset()); 385 ce->compilation()->implicit_exception_table()->append(_offset, __ offset());
378 __ bind(_entry); 386 __ bind(_entry);
379 __ call(RuntimeAddress(Runtime1::entry_for(Runtime1::throw_null_pointer_exception_id))); 387 __ call(RuntimeAddress(Runtime1::entry_for(Runtime1::throw_null_pointer_exception_id)));
380 ce->add_call_info_here(_info); 388 ce->add_call_info_here(_info);