hotspot/src/os_cpu/linux_x86/vm/linux_x86_32.s
changeset 7885 c02b05ba16a1
parent 5883 8dc4bdc132d5
child 7891 2c38f387381e
equal deleted inserted replaced
7884:10a0fafc26aa 7885:c02b05ba16a1
     1 # 
     1 # 
     2 # Copyright (c) 2004, 2007, Oracle and/or its affiliates. All rights reserved.
     2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. 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.
    36         .globl _Copy_arrayof_conjoint_jints
    36         .globl _Copy_arrayof_conjoint_jints
    37 	.globl _Copy_conjoint_jlongs_atomic
    37 	.globl _Copy_conjoint_jlongs_atomic
    38 	.globl _mmx_Copy_arrayof_conjoint_jshorts
    38 	.globl _mmx_Copy_arrayof_conjoint_jshorts
    39 
    39 
    40         .globl _Atomic_cmpxchg_long
    40         .globl _Atomic_cmpxchg_long
       
    41         .globl _Atomic_move_long
    41 
    42 
    42 	.text
    43 	.text
    43 
    44 
    44         .globl  SafeFetch32, Fetch32PFI, Fetch32Resume
    45         .globl  SafeFetch32, Fetch32PFI, Fetch32Resume
    45         .globl  SafeFetchN
    46         .globl  SafeFetchN
   651 1:      cmpxchg8b (%edi)
   652 1:      cmpxchg8b (%edi)
   652         popl     %edi
   653         popl     %edi
   653         popl     %ebx
   654         popl     %ebx
   654         ret
   655         ret
   655 
   656 
       
   657 
       
   658         # Support for jlong Atomic::load and Atomic::store.
       
   659         # void _Atomic_move_long(volatile jlong* src, volatile jlong* dst)
       
   660         .p2align 4,,15
       
   661 	.type    _Atomic_move_long,@function
       
   662 _Atomic_move_long:
       
   663         movl     4(%esp), %eax   # src
       
   664         fildll    (%eax)
       
   665         movl     8(%esp), %eax   # dest
       
   666         fistpll   (%eax)
       
   667         ret
       
   668