diff src/os_cpu/linux_x86/vm/linux_x86_32.s @ 2120:bb8e3b66bde6

Merge
author twisti
date Thu, 13 Jan 2011 07:20:32 -0800
parents 0a8e0d4345b3 4fc084dac61e
children 2cb5d5f6d5e5
line wrap: on
line diff
--- a/src/os_cpu/linux_x86/vm/linux_x86_32.s	Fri Jan 07 22:56:35 2011 -0800
+++ b/src/os_cpu/linux_x86/vm/linux_x86_32.s	Thu Jan 13 07:20:32 2011 -0800
@@ -1,5 +1,5 @@
 # 
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -38,6 +38,7 @@
 	.globl _mmx_Copy_arrayof_conjoint_jshorts
 
         .globl _Atomic_cmpxchg_long
+        .globl _Atomic_move_long
 
 	.text
 
@@ -653,3 +654,15 @@
         popl     %ebx
         ret
 
+
+        # Support for jlong Atomic::load and Atomic::store.
+        # void _Atomic_move_long(volatile jlong* src, volatile jlong* dst)
+        .p2align 4,,15
+	.type    _Atomic_move_long,@function
+_Atomic_move_long:
+        movl     4(%esp), %eax   # src
+        fildll    (%eax)
+        movl     8(%esp), %eax   # dest
+        fistpll   (%eax)
+        ret
+