[macruby-changes] [1473] MacRuby/branches/experimental
source_changes at macosforge.org
source_changes at macosforge.org
Wed Apr 22 17:55:53 PDT 2009
Revision: 1473
http://trac.macosforge.org/projects/ruby/changeset/1473
Author: lsansonetti at apple.com
Date: 2009-04-22 17:55:53 -0700 (Wed, 22 Apr 2009)
Log Message:
-----------
statically generate the struct reader methods, 128 seems necessary at least for OpenGL
Modified Paths:
--------------
MacRuby/branches/experimental/roxor.cpp
Added Paths:
-----------
MacRuby/branches/experimental/bs_struct_readers.c
MacRuby/branches/experimental/gen_bs_struct_readers.rb
Added: MacRuby/branches/experimental/bs_struct_readers.c
===================================================================
--- MacRuby/branches/experimental/bs_struct_readers.c (rev 0)
+++ MacRuby/branches/experimental/bs_struct_readers.c 2009-04-23 00:55:53 UTC (rev 1473)
@@ -0,0 +1,644 @@
+// This file was generated by gen_bs_struct_readers.rb, do not modify it manually.
+static VALUE rb_vm_struct_reader_0 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[0];
+}
+static VALUE rb_vm_struct_reader_1 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[1];
+}
+static VALUE rb_vm_struct_reader_2 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[2];
+}
+static VALUE rb_vm_struct_reader_3 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[3];
+}
+static VALUE rb_vm_struct_reader_4 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[4];
+}
+static VALUE rb_vm_struct_reader_5 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[5];
+}
+static VALUE rb_vm_struct_reader_6 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[6];
+}
+static VALUE rb_vm_struct_reader_7 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[7];
+}
+static VALUE rb_vm_struct_reader_8 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[8];
+}
+static VALUE rb_vm_struct_reader_9 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[9];
+}
+static VALUE rb_vm_struct_reader_10 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[10];
+}
+static VALUE rb_vm_struct_reader_11 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[11];
+}
+static VALUE rb_vm_struct_reader_12 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[12];
+}
+static VALUE rb_vm_struct_reader_13 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[13];
+}
+static VALUE rb_vm_struct_reader_14 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[14];
+}
+static VALUE rb_vm_struct_reader_15 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[15];
+}
+static VALUE rb_vm_struct_reader_16 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[16];
+}
+static VALUE rb_vm_struct_reader_17 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[17];
+}
+static VALUE rb_vm_struct_reader_18 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[18];
+}
+static VALUE rb_vm_struct_reader_19 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[19];
+}
+static VALUE rb_vm_struct_reader_20 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[20];
+}
+static VALUE rb_vm_struct_reader_21 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[21];
+}
+static VALUE rb_vm_struct_reader_22 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[22];
+}
+static VALUE rb_vm_struct_reader_23 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[23];
+}
+static VALUE rb_vm_struct_reader_24 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[24];
+}
+static VALUE rb_vm_struct_reader_25 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[25];
+}
+static VALUE rb_vm_struct_reader_26 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[26];
+}
+static VALUE rb_vm_struct_reader_27 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[27];
+}
+static VALUE rb_vm_struct_reader_28 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[28];
+}
+static VALUE rb_vm_struct_reader_29 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[29];
+}
+static VALUE rb_vm_struct_reader_30 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[30];
+}
+static VALUE rb_vm_struct_reader_31 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[31];
+}
+static VALUE rb_vm_struct_reader_32 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[32];
+}
+static VALUE rb_vm_struct_reader_33 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[33];
+}
+static VALUE rb_vm_struct_reader_34 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[34];
+}
+static VALUE rb_vm_struct_reader_35 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[35];
+}
+static VALUE rb_vm_struct_reader_36 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[36];
+}
+static VALUE rb_vm_struct_reader_37 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[37];
+}
+static VALUE rb_vm_struct_reader_38 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[38];
+}
+static VALUE rb_vm_struct_reader_39 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[39];
+}
+static VALUE rb_vm_struct_reader_40 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[40];
+}
+static VALUE rb_vm_struct_reader_41 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[41];
+}
+static VALUE rb_vm_struct_reader_42 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[42];
+}
+static VALUE rb_vm_struct_reader_43 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[43];
+}
+static VALUE rb_vm_struct_reader_44 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[44];
+}
+static VALUE rb_vm_struct_reader_45 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[45];
+}
+static VALUE rb_vm_struct_reader_46 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[46];
+}
+static VALUE rb_vm_struct_reader_47 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[47];
+}
+static VALUE rb_vm_struct_reader_48 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[48];
+}
+static VALUE rb_vm_struct_reader_49 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[49];
+}
+static VALUE rb_vm_struct_reader_50 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[50];
+}
+static VALUE rb_vm_struct_reader_51 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[51];
+}
+static VALUE rb_vm_struct_reader_52 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[52];
+}
+static VALUE rb_vm_struct_reader_53 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[53];
+}
+static VALUE rb_vm_struct_reader_54 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[54];
+}
+static VALUE rb_vm_struct_reader_55 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[55];
+}
+static VALUE rb_vm_struct_reader_56 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[56];
+}
+static VALUE rb_vm_struct_reader_57 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[57];
+}
+static VALUE rb_vm_struct_reader_58 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[58];
+}
+static VALUE rb_vm_struct_reader_59 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[59];
+}
+static VALUE rb_vm_struct_reader_60 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[60];
+}
+static VALUE rb_vm_struct_reader_61 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[61];
+}
+static VALUE rb_vm_struct_reader_62 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[62];
+}
+static VALUE rb_vm_struct_reader_63 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[63];
+}
+static VALUE rb_vm_struct_reader_64 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[64];
+}
+static VALUE rb_vm_struct_reader_65 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[65];
+}
+static VALUE rb_vm_struct_reader_66 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[66];
+}
+static VALUE rb_vm_struct_reader_67 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[67];
+}
+static VALUE rb_vm_struct_reader_68 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[68];
+}
+static VALUE rb_vm_struct_reader_69 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[69];
+}
+static VALUE rb_vm_struct_reader_70 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[70];
+}
+static VALUE rb_vm_struct_reader_71 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[71];
+}
+static VALUE rb_vm_struct_reader_72 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[72];
+}
+static VALUE rb_vm_struct_reader_73 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[73];
+}
+static VALUE rb_vm_struct_reader_74 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[74];
+}
+static VALUE rb_vm_struct_reader_75 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[75];
+}
+static VALUE rb_vm_struct_reader_76 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[76];
+}
+static VALUE rb_vm_struct_reader_77 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[77];
+}
+static VALUE rb_vm_struct_reader_78 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[78];
+}
+static VALUE rb_vm_struct_reader_79 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[79];
+}
+static VALUE rb_vm_struct_reader_80 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[80];
+}
+static VALUE rb_vm_struct_reader_81 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[81];
+}
+static VALUE rb_vm_struct_reader_82 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[82];
+}
+static VALUE rb_vm_struct_reader_83 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[83];
+}
+static VALUE rb_vm_struct_reader_84 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[84];
+}
+static VALUE rb_vm_struct_reader_85 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[85];
+}
+static VALUE rb_vm_struct_reader_86 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[86];
+}
+static VALUE rb_vm_struct_reader_87 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[87];
+}
+static VALUE rb_vm_struct_reader_88 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[88];
+}
+static VALUE rb_vm_struct_reader_89 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[89];
+}
+static VALUE rb_vm_struct_reader_90 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[90];
+}
+static VALUE rb_vm_struct_reader_91 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[91];
+}
+static VALUE rb_vm_struct_reader_92 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[92];
+}
+static VALUE rb_vm_struct_reader_93 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[93];
+}
+static VALUE rb_vm_struct_reader_94 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[94];
+}
+static VALUE rb_vm_struct_reader_95 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[95];
+}
+static VALUE rb_vm_struct_reader_96 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[96];
+}
+static VALUE rb_vm_struct_reader_97 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[97];
+}
+static VALUE rb_vm_struct_reader_98 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[98];
+}
+static VALUE rb_vm_struct_reader_99 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[99];
+}
+static VALUE rb_vm_struct_reader_100 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[100];
+}
+static VALUE rb_vm_struct_reader_101 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[101];
+}
+static VALUE rb_vm_struct_reader_102 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[102];
+}
+static VALUE rb_vm_struct_reader_103 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[103];
+}
+static VALUE rb_vm_struct_reader_104 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[104];
+}
+static VALUE rb_vm_struct_reader_105 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[105];
+}
+static VALUE rb_vm_struct_reader_106 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[106];
+}
+static VALUE rb_vm_struct_reader_107 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[107];
+}
+static VALUE rb_vm_struct_reader_108 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[108];
+}
+static VALUE rb_vm_struct_reader_109 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[109];
+}
+static VALUE rb_vm_struct_reader_110 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[110];
+}
+static VALUE rb_vm_struct_reader_111 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[111];
+}
+static VALUE rb_vm_struct_reader_112 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[112];
+}
+static VALUE rb_vm_struct_reader_113 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[113];
+}
+static VALUE rb_vm_struct_reader_114 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[114];
+}
+static VALUE rb_vm_struct_reader_115 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[115];
+}
+static VALUE rb_vm_struct_reader_116 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[116];
+}
+static VALUE rb_vm_struct_reader_117 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[117];
+}
+static VALUE rb_vm_struct_reader_118 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[118];
+}
+static VALUE rb_vm_struct_reader_119 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[119];
+}
+static VALUE rb_vm_struct_reader_120 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[120];
+}
+static VALUE rb_vm_struct_reader_121 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[121];
+}
+static VALUE rb_vm_struct_reader_122 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[122];
+}
+static VALUE rb_vm_struct_reader_123 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[123];
+}
+static VALUE rb_vm_struct_reader_124 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[124];
+}
+static VALUE rb_vm_struct_reader_125 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[125];
+}
+static VALUE rb_vm_struct_reader_126 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[126];
+}
+static VALUE rb_vm_struct_reader_127 (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[127];
+}
+#define BS_STRUCT_MAX_FIELDS 128
+typedef VALUE rb_vm_struct_reader_t(VALUE, SEL);
+static rb_vm_struct_reader_t *struct_readers[] = { rb_vm_struct_reader_0, rb_vm_struct_reader_1, rb_vm_struct_reader_2, rb_vm_struct_reader_3, rb_vm_struct_reader_4, rb_vm_struct_reader_5, rb_vm_struct_reader_6, rb_vm_struct_reader_7, rb_vm_struct_reader_8, rb_vm_struct_reader_9, rb_vm_struct_reader_10, rb_vm_struct_reader_11, rb_vm_struct_reader_12, rb_vm_struct_reader_13, rb_vm_struct_reader_14, rb_vm_struct_reader_15, rb_vm_struct_reader_16, rb_vm_struct_reader_17, rb_vm_struct_reader_18, rb_vm_struct_reader_19, rb_vm_struct_reader_20, rb_vm_struct_reader_21, rb_vm_struct_reader_22, rb_vm_struct_reader_23, rb_vm_struct_reader_24, rb_vm_struct_reader_25, rb_vm_struct_reader_26, rb_vm_struct_reader_27, rb_vm_struct_reader_28, rb_vm_struct_reader_29, rb_vm_struct_reader_30, rb_vm_struct_reader_31, rb_vm_struct_reader_32, rb_vm_struct_reader_33, rb_vm_struct_reader_34, rb_vm_struct_reader_35, rb_vm_struct_reader_36, rb_vm_struct_reader_37, rb_vm_struct_reader_38, rb_vm_struct
_reader_39, rb_vm_struct_reader_40, rb_vm_struct_reader_41, rb_vm_struct_reader_42, rb_vm_struct_reader_43, rb_vm_struct_reader_44, rb_vm_struct_reader_45, rb_vm_struct_reader_46, rb_vm_struct_reader_47, rb_vm_struct_reader_48, rb_vm_struct_reader_49, rb_vm_struct_reader_50, rb_vm_struct_reader_51, rb_vm_struct_reader_52, rb_vm_struct_reader_53, rb_vm_struct_reader_54, rb_vm_struct_reader_55, rb_vm_struct_reader_56, rb_vm_struct_reader_57, rb_vm_struct_reader_58, rb_vm_struct_reader_59, rb_vm_struct_reader_60, rb_vm_struct_reader_61, rb_vm_struct_reader_62, rb_vm_struct_reader_63, rb_vm_struct_reader_64, rb_vm_struct_reader_65, rb_vm_struct_reader_66, rb_vm_struct_reader_67, rb_vm_struct_reader_68, rb_vm_struct_reader_69, rb_vm_struct_reader_70, rb_vm_struct_reader_71, rb_vm_struct_reader_72, rb_vm_struct_reader_73, rb_vm_struct_reader_74, rb_vm_struct_reader_75, rb_vm_struct_reader_76, rb_vm_struct_reader_77, rb_vm_struct_reader_78, rb_vm_struct_reader_79, rb_vm_struct_read
er_80, rb_vm_struct_reader_81, rb_vm_struct_reader_82, rb_vm_struct_reader_83, rb_vm_struct_reader_84, rb_vm_struct_reader_85, rb_vm_struct_reader_86, rb_vm_struct_reader_87, rb_vm_struct_reader_88, rb_vm_struct_reader_89, rb_vm_struct_reader_90, rb_vm_struct_reader_91, rb_vm_struct_reader_92, rb_vm_struct_reader_93, rb_vm_struct_reader_94, rb_vm_struct_reader_95, rb_vm_struct_reader_96, rb_vm_struct_reader_97, rb_vm_struct_reader_98, rb_vm_struct_reader_99, rb_vm_struct_reader_100, rb_vm_struct_reader_101, rb_vm_struct_reader_102, rb_vm_struct_reader_103, rb_vm_struct_reader_104, rb_vm_struct_reader_105, rb_vm_struct_reader_106, rb_vm_struct_reader_107, rb_vm_struct_reader_108, rb_vm_struct_reader_109, rb_vm_struct_reader_110, rb_vm_struct_reader_111, rb_vm_struct_reader_112, rb_vm_struct_reader_113, rb_vm_struct_reader_114, rb_vm_struct_reader_115, rb_vm_struct_reader_116, rb_vm_struct_reader_117, rb_vm_struct_reader_118, rb_vm_struct_reader_119, rb_vm_struct_reader_120, r
b_vm_struct_reader_121, rb_vm_struct_reader_122, rb_vm_struct_reader_123, rb_vm_struct_reader_124, rb_vm_struct_reader_125, rb_vm_struct_reader_126, rb_vm_struct_reader_127 };
Added: MacRuby/branches/experimental/gen_bs_struct_readers.rb
===================================================================
--- MacRuby/branches/experimental/gen_bs_struct_readers.rb (rev 0)
+++ MacRuby/branches/experimental/gen_bs_struct_readers.rb 2009-04-23 00:55:53 UTC (rev 1473)
@@ -0,0 +1,19 @@
+MAX_READERS = 128
+
+puts "// This file was generated by #{__FILE__}, do not modify it manually."
+
+MAX_READERS.times do |i|
+ puts <<EOS
+static VALUE rb_vm_struct_reader_#{i} (VALUE self, SEL sel) {
+ VALUE *data;
+ Data_Get_Struct(self, VALUE, data);
+ return data[#{i}];
+}
+EOS
+end
+
+puts <<EOS
+#define BS_STRUCT_MAX_FIELDS #{MAX_READERS}
+typedef VALUE rb_vm_struct_reader_t(VALUE, SEL);
+static rb_vm_struct_reader_t *struct_readers[] = { #{(0..(MAX_READERS-1)).to_a.map { |x| 'rb_vm_struct_reader_' + x.to_s }.join(', ') } };
+EOS
Modified: MacRuby/branches/experimental/roxor.cpp
===================================================================
--- MacRuby/branches/experimental/roxor.cpp 2009-04-22 23:56:51 UTC (rev 1472)
+++ MacRuby/branches/experimental/roxor.cpp 2009-04-23 00:55:53 UTC (rev 1473)
@@ -8298,33 +8298,9 @@
return v;
}
-#define GEN_STRUCT_READER(idx) \
- static VALUE rb_vm_struct_reader_##idx (VALUE self, SEL sel) { \
- VALUE *data; \
- Data_Get_Struct(self, VALUE, data); \
- return data[idx]; \
- } \
+// Readers are statically generated.
+#include "bs_struct_readers.c"
-GEN_STRUCT_READER(0); GEN_STRUCT_READER(1); GEN_STRUCT_READER(2);
-GEN_STRUCT_READER(3); GEN_STRUCT_READER(4); GEN_STRUCT_READER(5);
-GEN_STRUCT_READER(6); GEN_STRUCT_READER(7); GEN_STRUCT_READER(8);
-GEN_STRUCT_READER(9); GEN_STRUCT_READER(10); GEN_STRUCT_READER(11);
-GEN_STRUCT_READER(12); GEN_STRUCT_READER(13); GEN_STRUCT_READER(14);
-GEN_STRUCT_READER(15); GEN_STRUCT_READER(16); GEN_STRUCT_READER(17);
-GEN_STRUCT_READER(18); GEN_STRUCT_READER(19);
-
-#define BS_STRUCT_MAX_FIELDS 20
-typedef VALUE rb_vm_struct_reader_t(VALUE, SEL);
-static rb_vm_struct_reader_t *struct_readers[] = {
- rb_vm_struct_reader_0, rb_vm_struct_reader_1, rb_vm_struct_reader_2,
- rb_vm_struct_reader_3, rb_vm_struct_reader_4, rb_vm_struct_reader_5,
- rb_vm_struct_reader_6, rb_vm_struct_reader_7, rb_vm_struct_reader_8,
- rb_vm_struct_reader_9, rb_vm_struct_reader_10, rb_vm_struct_reader_11,
- rb_vm_struct_reader_12, rb_vm_struct_reader_13, rb_vm_struct_reader_14,
- rb_vm_struct_reader_15, rb_vm_struct_reader_16, rb_vm_struct_reader_17,
- rb_vm_struct_reader_18, rb_vm_struct_reader_19
-};
-
static bool
register_bs_boxed(bs_element_type_t type, void *value)
{
@@ -8347,7 +8323,7 @@
rb_cBoxed);
if (type == BS_ELEMENT_STRUCT) {
- assert(boxed->as.s->fields_count < BS_STRUCT_MAX_FIELDS);
+ assert(boxed->as.s->fields_count <= BS_STRUCT_MAX_FIELDS);
for (unsigned i = 0; i < boxed->as.s->fields_count; i++) {
rb_objc_define_method(boxed->klass, boxed->as.s->fields[i].name,
(void *)struct_readers[i], 0);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090422/fda4b378/attachment-0001.html>
More information about the macruby-changes
mailing list