diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-13 09:58:12 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-13 09:58:12 +0000 |
commit | 293534986f336e9f65ba9d8f9f66fcd86607eca7 (patch) | |
tree | 2e073d3e8fff6dc1b1b93d2fd081495bfa4c5d2b /ChangeLog | |
parent | 9b04f5880e475c727c2c019af1d4f96f41dfdd58 (diff) |
* gc.c (stack_end_address): new function to obtain stack end address.
stack_end_address calls __builtin_frame_address(0) to obtain the
frame pointer of a stack frame of stack_end_address. The address
is the stack pointer of the caller's stack frame.
(SET_STACK_END): use stack_end_address.
This makes the conservative garbage collector to scan a stack frame
of the garbage_collect function itself. This is required because
callee-save registers may be stored in the frame.
[ruby-dev:25158]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -1,3 +1,15 @@ +Mon Dec 13 18:13:52 2004 Tanaka Akira <akr@m17n.org> + + * gc.c (stack_end_address): new function to obtain stack end address. + stack_end_address calls __builtin_frame_address(0) to obtain the + frame pointer of a stack frame of stack_end_address. The address + is the stack pointer of the caller's stack frame. + (SET_STACK_END): use stack_end_address. + This makes the conservative garbage collector to scan a stack frame + of the garbage_collect function itself. This is required because + callee-save registers may be stored in the frame. + [ruby-dev:25158] + Mon Dec 13 00:58:02 2004 Tanaka Akira <akr@m17n.org> * lib/pathname.rb (cleanpath_aggressive): make it private. |