summaryrefslogtreecommitdiff
path: root/ia64.s
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-15 01:18:55 (GMT)
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-15 01:18:55 (GMT)
commit146216ccb40e64d34f28d585b3b2f1328cc8a121 (patch)
treea1279d608e01abb3a5f25bee3f13e2f567da340f /ia64.s
parent2adf19d6c4febaa497c28dfc5fe0942e540dd883 (diff)
add comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ia64.s')
-rw-r--r--ia64.s5
1 files changed, 5 insertions, 0 deletions
diff --git a/ia64.s b/ia64.s
index ba5241d..3865712 100644
--- a/ia64.s
+++ b/ia64.s
@@ -6,6 +6,11 @@
// void rb_ia64_flushrs(void) { __builtin_ia64_flushrs(); }
// void *rb_ia64_bsp(void) { return __builtin_ia64_bsp(); }
//
+// Note that rb_ia64_flushrs and rb_ia64_bsp works in its own stack frame.
+// It's because BSP is updated by br.call/brl.call (not alloc instruction)
+// So rb_ia64_flushrs flushes stack frames including caller's one.
+// rb_ia64_bsp returns the address next to caller's register stack frame.
+//
.file "ia64.c"
.text
.align 16