File tree 5 files changed +11
-8
lines changed
5 files changed +11
-8
lines changed Original file line number Diff line number Diff line change 1
1
FROM ubuntu:14.04
2
2
3
- ADD https://rubinius-binaries-rubinius-com.s3-us-west-2.amazonaws.com/ubuntu/14.04/x86_64/rubinius-3.2 .tar.bz2 /tmp/rubinius.tar.bz2
3
+ ADD https://rubinius-binaries-rubinius-com.s3-us-west-2.amazonaws.com/ubuntu/14.04/x86_64/rubinius-3.3 .tar.bz2 /tmp/rubinius.tar.bz2
4
4
RUN apt-get -y install bzip2 && cd /opt && tar xvjf /tmp/rubinius.tar.bz2
5
5
6
- ENV PATH /opt/rubinius/3.2 /bin:/opt/rubinius/3.2 /gems/bin:$PATH
6
+ ENV PATH /opt/rubinius/3.3 /bin:/opt/rubinius/3.3 /gems/bin:$PATH
7
7
8
8
CMD ["bash" ]
Original file line number Diff line number Diff line change 1
1
FROM ubuntu:15.10
2
2
3
- ADD https://rubinius-binaries-rubinius-com.s3-us-west-2.amazonaws.com/ubuntu/15.10/x86_64/rubinius-3.2 .tar.bz2 /tmp/rubinius.tar.bz2
3
+ ADD https://rubinius-binaries-rubinius-com.s3-us-west-2.amazonaws.com/ubuntu/15.10/x86_64/rubinius-3.3 .tar.bz2 /tmp/rubinius.tar.bz2
4
4
RUN apt-get -y install bzip2 && cd /opt && tar xvjf /tmp/rubinius.tar.bz2
5
5
6
- ENV PATH /opt/rubinius/3.2 /bin:/opt/rubinius/3.2 /gems/bin:$PATH
6
+ ENV PATH /opt/rubinius/3.3 /bin:/opt/rubinius/3.3 /gems/bin:$PATH
7
7
8
8
CMD ["bash" ]
Original file line number Diff line number Diff line change @@ -93,7 +93,7 @@ rubysl-securerandom-2.0.0.gem
93
93
rubysl-set-2.0.1.gem
94
94
rubysl-shellwords-2.0.0.gem
95
95
rubysl-singleton-2.0.0.gem
96
- rubysl-socket-2.0.1 .gem
96
+ rubysl-socket-2.1.0 .gem
97
97
rubysl-stringio-2.0.0.gem
98
98
rubysl-strscan-2.0.0.gem
99
99
rubysl-sync-2.0.0.gem
Original file line number Diff line number Diff line change 162
162
163
163
instruction goto_if_nil(location) [ value -- ] => branch
164
164
Object* t1 = stack_pop();
165
- if(t1 == cNil ) {
165
+ if(t1->nil_p() ) {
166
166
store_ip(location);
167
167
}
168
168
end
Original file line number Diff line number Diff line change @@ -93,7 +93,10 @@ Object* const cUndef = reinterpret_cast<Object*>(0x22L);
93
93
94
94
// Indicates the mask to use to check if a value is ruby false.
95
95
// This mask matches both false and nil ONLY.
96
- #define FALSE_MASK 0xf
96
+ #define FALSE_MASK 0xf
97
+
98
+ // The bits that identify any nil value.
99
+ #define NIL_MASK 0x1f
97
100
98
101
#define CBOOL (v ) (((uintptr_t )(v) & FALSE_MASK) != (uintptr_t )cFalse)
99
102
#define RBOOL (v ) ((v) ? cTrue : cFalse)
@@ -586,7 +589,7 @@ Object* const cUndef = reinterpret_cast<Object*>(0x22L);
586
589
void wait (STATE);
587
590
588
591
bool nil_p () const {
589
- return this == reinterpret_cast <ObjectHeader* >(cNil);
592
+ return ( reinterpret_cast < intptr_t >( this ) & NIL_MASK) == reinterpret_cast <intptr_t >(cNil);
590
593
}
591
594
592
595
bool true_p () const {
You can’t perform that action at this time.
0 commit comments