yarv-diff:41
From: ko1 atdot.net
Date: 1 Jul 2005 19:20:44 -0000
Subject: [yarv-diff:41] r196 - trunk
Author: ko1
Date: 2005-07-02 04:20:44 +0900 (Sat, 02 Jul 2005)
New Revision: 196
Modified:
trunk/ChangeLog
trunk/insns.def
trunk/test.rb
Log:
* insns.def : add GC protect for opt_aset
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2005-07-01 18:52:37 UTC (rev 195)
+++ trunk/ChangeLog 2005-07-01 19:20:44 UTC (rev 196)
@@ -4,6 +4,11 @@
# from Mon, 03 May 2004 01:24:19 +0900
#
+2005-07-02(Sat) 04:19:22 +0900 Koichi Sasada <ko1 atdot.net>
+
+ * insns.def : add GC protect for opt_aset
+
+
2005-07-02(Sat) 03:49:17 +0900 Koichi Sasada <ko1 atdot.net>
* extconf.rb : add option -fno-reorder-blocks to vm.asm rule
Modified: trunk/insns.def
===================================================================
--- trunk/insns.def 2005-07-01 18:52:37 UTC (rev 195)
+++ trunk/insns.def 2005-07-01 19:20:44 UTC (rev 196)
@@ -2063,6 +2063,8 @@
(VALUE recv, VALUE obj, VALUE set)
(VALUE val)
{
+ volatile VALUE recv_protect = recv;
+
if(!SPECIAL_CONST_P(recv)){
if(HEAP_CLASS_OF(recv) == rb_cArray &&
FIXNUM_P(obj)){
Modified: trunk/test.rb
===================================================================
--- trunk/test.rb 2005-07-01 18:52:37 UTC (rev 195)
+++ trunk/test.rb 2005-07-01 19:20:44 UTC (rev 196)
@@ -9,21 +9,6 @@
###########################################################
$prog =<<'__EOP__'
-class C
- def []=(a, b)
- p [a, b]
- end
-end
-
-C.new[2] = 3
-
-__END__
-
-#!/usr/bin/ruby
-# -*- mode: ruby -*-
-# $Id: matrix-ruby.code,v 1.4 2004/11/13 07:42:14 bfulgham Exp $
-# http://www.bagley.org/~doug/shootout/
-
n = 60 #Integer(ARGV.shift || 1)
size = 30
@@ -61,6 +46,7 @@
m1 = mkmatrix(size, size)
m2 = mkmatrix(size, size)
mm = Array.new
+
n.times do
mm = mmult(size, size, m1, m2)
end
--
ML: yarv-diff quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml