Mercurial > hg > graal-compiler
diff src/cpu/x86/vm/c1_Runtime1_x86.cpp @ 1423:760213a60e8b
* rewrite of the code installation
* partial support for safepoints
* macro-based CiTargetMethod interface
* code stub support
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Mon, 16 Aug 2010 18:59:36 -0700 |
parents | e1a275dbc8cd |
children | abc670a709dc |
line wrap: on
line diff
--- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp Mon Aug 02 15:44:38 2010 -0700 +++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp Mon Aug 16 18:59:36 2010 -0700 @@ -1366,10 +1366,17 @@ __ movptr(rsi, Address(rsp, (klass_off) * VMRegImpl::stack_slot_size)); // subclass __ movptr(rax, Address(rsp, (sup_k_off) * VMRegImpl::stack_slot_size)); // superclass + Label success; Label miss; + if (UseC1X) { + // TODO this should really be within the XirSnippets + __ check_klass_subtype_fast_path(rsi, rax, rcx, &success, &miss, NULL); + }; + __ check_klass_subtype_slow_path(rsi, rax, rcx, rdi, NULL, &miss); // fallthrough on success: + __ bind(success); __ movptr(Address(rsp, (result_off) * VMRegImpl::stack_slot_size), 1); // result __ pop(rax); __ pop(rcx);