Changeset 57
- Timestamp:
- Jul 15, 2010, 2:40:32 PM (15 years ago)
- Location:
- trunk/openjdk/hotspot/src/os_cpu/os2_x86
- Files:
-
- 2 added
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/openjdk/hotspot/src/os_cpu/os2_x86/vm/os2_x86_32.s
r22 r57 22 22 # 23 23 24 25 # NOTE: This file is basically a copy of linux_x86-32.s with unnecessary 26 # functions thrown away 24 27 25 # NOTE WELL! The _Copy functions are called directly 28 29 # NOTE WELL! The __Copy functions are called directly 26 30 # from server-compiler-generated code via CallLeafNoFP, 27 31 # which means that they *must* either not use floating … … 29 33 # compiler. 30 34 31 .globl _ Copy_conjoint_bytes32 .globl _ Copy_arrayof_conjoint_bytes33 .globl _ Copy_conjoint_jshorts_atomic34 .globl _ Copy_arrayof_conjoint_jshorts35 .globl _ Copy_conjoint_jints_atomic36 .globl _ Copy_arrayof_conjoint_jints37 .globl _ Copy_conjoint_jlongs_atomic38 .globl _ mmx_Copy_arrayof_conjoint_jshorts39 40 .globl _ Atomic_cmpxchg_long35 .globl __Copy_conjoint_bytes 36 .globl __Copy_arrayof_conjoint_bytes 37 .globl __Copy_conjoint_jshorts_atomic 38 .globl __Copy_arrayof_conjoint_jshorts 39 .globl __Copy_conjoint_jints_atomic 40 .globl __Copy_arrayof_conjoint_jints 41 .globl __Copy_conjoint_jlongs_atomic 42 .globl __mmx_Copy_arrayof_conjoint_jshorts 43 44 .globl __Atomic_cmpxchg_long 41 45 42 46 .text 43 44 .globl SafeFetch32, Fetch32PFI, Fetch32Resume45 .globl SafeFetchN46 ## TODO: avoid exposing Fetch32PFI and Fetch32Resume.47 ## Instead, the signal handler would call a new SafeFetchTriage(FaultingEIP)48 ## routine to vet the address. If the address is the faulting LD then49 ## SafeFetchTriage() would return the resume-at EIP, otherwise null.50 .type SafeFetch32,@function51 .p2align 4,,1552 SafeFetch32:53 SafeFetchN:54 movl 0x8(%esp), %eax55 movl 0x4(%esp), %ecx56 Fetch32PFI:57 movl (%ecx), %eax58 Fetch32Resume:59 ret60 61 62 .globl SpinPause63 .type SpinPause,@function64 .p2align 4,,1565 SpinPause:66 rep67 nop68 movl $1, %eax69 ret70 47 71 48 # Support for void Copy::conjoint_bytes(void* from, … … 73 50 # size_t count) 74 51 .p2align 4,,15 75 .type _ Copy_conjoint_bytes,@function76 _ Copy_conjoint_bytes:52 .type __Copy_conjoint_bytes,@function 53 __Copy_conjoint_bytes: 77 54 pushl %esi 78 55 movl 4+12(%esp),%ecx # count … … 179 156 # size_t count) 180 157 # 181 # Same as _ Copy_conjoint_bytes, except no source alignment check.182 .p2align 4,,15 183 .type _ Copy_arrayof_conjoint_bytes,@function184 _ Copy_arrayof_conjoint_bytes:158 # Same as __Copy_conjoint_bytes, except no source alignment check. 159 .p2align 4,,15 160 .type __Copy_arrayof_conjoint_bytes,@function 161 __Copy_arrayof_conjoint_bytes: 185 162 pushl %esi 186 163 movl 4+12(%esp),%ecx # count … … 269 246 # size_t count) 270 247 .p2align 4,,15 271 .type _ Copy_conjoint_jshorts_atomic,@function272 _ Copy_conjoint_jshorts_atomic:248 .type __Copy_conjoint_jshorts_atomic,@function 249 __Copy_conjoint_jshorts_atomic: 273 250 pushl %esi 274 251 movl 4+12(%esp),%ecx # count … … 355 332 # size_t count) 356 333 .p2align 4,,15 357 .type _ Copy_arrayof_conjoint_jshorts,@function358 _ Copy_arrayof_conjoint_jshorts:334 .type __Copy_arrayof_conjoint_jshorts,@function 335 __Copy_arrayof_conjoint_jshorts: 359 336 pushl %esi 360 337 movl 4+12(%esp),%ecx # count … … 432 409 # arrayof_conjoint_jints 433 410 .p2align 4,,15 434 .type _ Copy_conjoint_jints_atomic,@function435 .type _ Copy_arrayof_conjoint_jints,@function436 _ Copy_conjoint_jints_atomic:437 _ Copy_arrayof_conjoint_jints:411 .type __Copy_conjoint_jints_atomic,@function 412 .type __Copy_arrayof_conjoint_jints,@function 413 __Copy_conjoint_jints_atomic: 414 __Copy_arrayof_conjoint_jints: 438 415 pushl %esi 439 416 movl 4+12(%esp),%ecx # count … … 505 482 # } 506 483 .p2align 4,,15 507 .type _ Copy_conjoint_jlongs_atomic,@function508 _ Copy_conjoint_jlongs_atomic:484 .type __Copy_conjoint_jlongs_atomic,@function 485 __Copy_conjoint_jlongs_atomic: 509 486 movl 4+8(%esp),%ecx # count 510 487 movl 4+0(%esp),%eax # from … … 534 511 # size_t count) 535 512 .p2align 4,,15 536 .type _ mmx_Copy_arrayof_conjoint_jshorts,@function537 _ mmx_Copy_arrayof_conjoint_jshorts:513 .type __mmx_Copy_arrayof_conjoint_jshorts,@function 514 __mmx_Copy_arrayof_conjoint_jshorts: 538 515 pushl %esi 539 516 movl 4+12(%esp),%ecx … … 633 610 # 634 611 .p2align 4,,15 635 .type _ Atomic_cmpxchg_long,@function636 _ Atomic_cmpxchg_long:612 .type __Atomic_cmpxchg_long,@function 613 __Atomic_cmpxchg_long: 637 614 # 8(%esp) : return PC 638 615 pushl %ebx # 4(%esp) : old %ebx
Note:
See TracChangeset
for help on using the changeset viewer.