mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Change Makefile rule for assembly to use .S rather than .s
It is more conventional to use compiler to pre-process and assemble the `.S` file rather than forcing Makefile to use `.s`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
091422388e
commit
e64f71f812
7 changed files with 1 additions and 1 deletions
42
coroutine/amd64/Context.S
Normal file
42
coroutine/amd64/Context.S
Normal file
|
@ -0,0 +1,42 @@
|
|||
##
|
||||
## This file is part of the "Coroutine" project and released under the MIT License.
|
||||
##
|
||||
## Created by Samuel Williams on 10/5/2018.
|
||||
## Copyright, 2018, by Samuel Williams. All rights reserved.
|
||||
##
|
||||
|
||||
.text
|
||||
|
||||
# For older linkers
|
||||
.globl _coroutine_transfer
|
||||
_coroutine_transfer:
|
||||
|
||||
.globl coroutine_transfer
|
||||
coroutine_transfer:
|
||||
# Save caller state
|
||||
pushq %rbp
|
||||
pushq %rbx
|
||||
pushq %r12
|
||||
pushq %r13
|
||||
pushq %r14
|
||||
pushq %r15
|
||||
|
||||
# Save caller stack pointer
|
||||
movq %rsp, (%rdi)
|
||||
|
||||
# Restore callee stack pointer
|
||||
movq (%rsi), %rsp
|
||||
|
||||
# Restore callee stack
|
||||
popq %r15
|
||||
popq %r14
|
||||
popq %r13
|
||||
popq %r12
|
||||
popq %rbx
|
||||
popq %rbp
|
||||
|
||||
# Put the first argument into the return value
|
||||
movq %rdi, %rax
|
||||
|
||||
# We pop the return address and jump to it
|
||||
ret
|
Loading…
Add table
Add a link
Reference in a new issue