Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/x86_64.ad @ 6143:8b0a4867acf0
7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
Contributed-by: Krystal Mok <sajia@taobao.com>
author | twisti |
---|---|
date | Tue, 12 Jun 2012 14:31:44 -0700 |
parents | ccaa67adfe5b |
children | 8c92982cbbc4 |
comparison
equal
deleted
inserted
replaced
6142:121e5708ae96 | 6143:8b0a4867acf0 |
---|---|
7495 opcode(0x8B); | 7495 opcode(0x8B); |
7496 ins_encode(REX_reg_mem_wide(dst, mem), OpcP, reg_mem(dst, mem)); | 7496 ins_encode(REX_reg_mem_wide(dst, mem), OpcP, reg_mem(dst, mem)); |
7497 ins_pipe(ialu_reg_mem); // XXX | 7497 ins_pipe(ialu_reg_mem); // XXX |
7498 %} | 7498 %} |
7499 | 7499 |
7500 // LoadL-locked - same as a regular LoadL when used with compare-swap | |
7501 instruct loadLLocked(rRegL dst, memory mem) | |
7502 %{ | |
7503 match(Set dst (LoadLLocked mem)); | |
7504 | |
7505 ins_cost(125); // XXX | |
7506 format %{ "movq $dst, $mem\t# long locked" %} | |
7507 opcode(0x8B); | |
7508 ins_encode(REX_reg_mem_wide(dst, mem), OpcP, reg_mem(dst, mem)); | |
7509 ins_pipe(ialu_reg_mem); // XXX | |
7510 %} | |
7511 | |
7512 // Conditional-store of the updated heap-top. | 7500 // Conditional-store of the updated heap-top. |
7513 // Used during allocation of the shared heap. | 7501 // Used during allocation of the shared heap. |
7514 // Sets flags (EQ) on success. Implemented with a CMPXCHG on Intel. | 7502 // Sets flags (EQ) on success. Implemented with a CMPXCHG on Intel. |
7515 | 7503 |
7516 instruct storePConditional(memory heap_top_ptr, | 7504 instruct storePConditional(memory heap_top_ptr, |