.globl asm_cacheflush
- .globl asm_compare_and_swap
- .globl asm_memory_barrier
-
/* asm_vm_call_method **********************************************************
* *
.align 2
- .long 0 /* catch type all */
- .long 0 /* exception handler pc */
- .long 0 /* end pc */
- .long 0 /* start pc */
- .long 1 /* extable size */
- .long 0 /* line number table start */
- .long 0 /* line number table size */
.long 0 /* fltsave */
.long 0 /* intsave */
.long 0 /* IsLeaf */
- .long 0 /* IsSync */
.long 0 /* frame size */
.long 0 /* codeinfo pointer */
stw itmp3,LA_SIZE+(4+4)*4(sp) /* save maybe-leaf flag (cleared) */
mr a0,r0 /* pass return address */
- bl md_codegen_get_pv_from_pc /* get PV from RA */
+ bl md_asm_codegen_get_pv_from_pc /* get PV from RA */
stw v0,LA_SIZE+(4+2)*4(sp) /* save data segment pointer */
lwz a0,LA_SIZE+(4+0)*4(sp) /* pass xptr */
blr
-/* asm_compare_and_swap ********************************************************
-
- XXX
-
-*******************************************************************************/
-
-asm_compare_and_swap:
-1:
- lwarx a6,0,a0
- subf. r0,a6,a1
- bne- 2f
- or r0,a2,a2
- stwcx. r0,0,a0
- bne- 1b
-2:
- mr a0,a6
- blr
-
-
-/* asm_memory_barrier **********************************************************
-
- XXX
-
-*******************************************************************************/
-
-asm_memory_barrier:
- sync
- blr
-
-
#if defined(__DARWIN__)
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.align 2
-L_md_codegen_get_pv_from_pc$stub:
- .indirect_symbol _md_codegen_get_pv_from_pc
+L_md_asm_codegen_get_pv_from_pc$stub:
+ .indirect_symbol _md_asm_codegen_get_pv_from_pc
mflr r0
- bcl 20,31,L00$_md_codegen_get_pv_from_pc
-L00$_md_codegen_get_pv_from_pc:
+ bcl 20,31,L00$_md_asm_codegen_get_pv_from_pc
+L00$_md_asm_codegen_get_pv_from_pc:
mflr r11
- addis r11,r11,ha16(L_md_codegen_get_pv_from_pc$lazy_ptr - L00$_md_codegen_get_pv_from_pc)
+ addis r11,r11,ha16(L_md_asm_codegen_get_pv_from_pc$lazy_ptr - L00$_md_asm_codegen_get_pv_from_pc)
mtlr r0
- lwzu r12,lo16(L_md_codegen_get_pv_from_pc$lazy_ptr - L00$_md_codegen_get_pv_from_pc)(r11)
+ lwzu r12,lo16(L_md_asm_codegen_get_pv_from_pc$lazy_ptr - L00$_md_asm_codegen_get_pv_from_pc)(r11)
mtctr r12
bctr
.data
.lazy_symbol_pointer
-L_md_codegen_get_pv_from_pc$lazy_ptr:
- .indirect_symbol _md_codegen_get_pv_from_pc
+L_md_asm_codegen_get_pv_from_pc$lazy_ptr:
+ .indirect_symbol _md_asm_codegen_get_pv_from_pc
.long dyld_stub_binding_helper