atomic 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/atomic.gemspec CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{atomic}
5
- s.version = "0.0.4"
5
+ s.version = "0.0.5"
6
6
  s.authors = ["Charles Oliver Nutter", "MenTaLguY"]
7
- s.date = Time.now.strftime('YYYY-MM-DD')
7
+ s.date = Time.now.strftime('%Y-%m-%d')
8
8
  s.description = "An atomic reference implementation for JRuby and green or GIL-threaded impls"
9
9
  s.email = ["headius@headius.com", "mental@rydia.net"]
10
10
  s.files = Dir['{lib,examples,test,ext}/**/*'] + Dir['{*.txt,*.gemspec,Rakefile}']
@@ -12,4 +12,5 @@ Gem::Specification.new do |s|
12
12
  s.require_paths = ["lib"]
13
13
  s.summary = "An atomic reference implementation for JRuby and green or GIL-threaded impls"
14
14
  s.test_files = Dir["test/test*.rb"]
15
+ s.extensions = 'ext/extconf.rb'
15
16
  end
@@ -1,7 +1,7 @@
1
1
  #include <ruby.h>
2
2
 
3
3
  static void ir_mark(void *value) {
4
- rb_mark((VALUE)value);
4
+ rb_gc_mark((VALUE)value);
5
5
  }
6
6
 
7
7
  static VALUE ir_alloc(VALUE klass) {
@@ -29,15 +29,19 @@ static VALUE ir_get_and_set(VALUE self, VALUE new_value) {
29
29
  return old_value;
30
30
  }
31
31
 
32
- static VALUE ir_compare_and_set(VALUE self, VALUE expect_value, VALUE new_value) {
33
- VALUE old_value;
34
- old_value = (VALUE)DATA_PTR(self);
35
- if (old_value == expect_value) {
36
- DATA_PTR(self) = (void *)new_value;
32
+ static VALUE ir_compare_and_set(volatile VALUE self, VALUE expect_value, VALUE new_value) {
33
+ #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050
34
+ if (OSAtomicCompareAndSwap64(expect_value, new_value, &DATA_PTR(self))) {
35
+ return Qtrue;
36
+ }
37
+ #elif (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) > 40100
38
+ if (__sync_bool_compare_and_swap(&DATA_PTR(self), expect_value, new_value)) {
37
39
  return Qtrue;
38
- } else {
39
- return Qfalse;
40
40
  }
41
+ #else
42
+ # error No CAS operation available for this platform
43
+ #endif
44
+ return Qfalse;
41
45
  }
42
46
 
43
47
  void Init_atomic_reference() {
Binary file
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: atomic
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.4
5
+ version: 0.0.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Charles Oliver Nutter
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-03-10 17:57:18.194000 -06:00
14
+ date: 2011-07-05 00:00:00 -05:00
15
15
  default_executable:
16
16
  dependencies: []
17
17
 
@@ -21,25 +21,18 @@ email:
21
21
  - mental@rydia.net
22
22
  executables: []
23
23
 
24
- extensions: []
25
-
24
+ extensions:
25
+ - ext/extconf.rb
26
26
  extra_rdoc_files: []
27
27
 
28
28
  files:
29
29
  - lib/atomic.rb
30
- - lib/atomic.rbc
31
30
  - lib/atomic_reference.jar
32
- - lib/atomicreference.jar
33
31
  - examples/atomic_example.rb
34
32
  - test/test_atomic.rb
35
- - test/test_atomic.rbc
36
- - ext/atomic_reference.bundle
37
33
  - ext/atomic_reference.c
38
- - ext/atomic_reference.o
39
34
  - ext/AtomicReferenceService.java
40
35
  - ext/extconf.rb
41
- - ext/extconf.rbc
42
- - ext/Makefile
43
36
  - ext/org/jruby/ext/atomic/AtomicReferenceLibrary.java
44
37
  - README.txt
45
38
  - atomic.gemspec
data/ext/Makefile DELETED
@@ -1,162 +0,0 @@
1
-
2
- SHELL = /bin/sh
3
-
4
- #### Start of system configuration section. ####
5
-
6
- srcdir = .
7
- topdir = /usr/local/rubinius/1.0.0/include
8
- hdrdir = $(topdir)
9
- VPATH = $(srcdir):$(topdir):$(hdrdir)
10
- prefix = $(DESTDIR)/usr/local/rubinius/1.0.0
11
- exec_prefix = $(prefix)
12
- install_prefix = $(DESTDIR)
13
- includedir = $(prefix)/include
14
- bindir = $(DESTDIR)/usr/local/rubinius/1.0.0/bin
15
- sysconfdir = $(prefix)/etc
16
- localedir = $(datarootdir)/locale
17
- rubylibdir = $(DESTDIR)/usr/local/rubinius/1.0.0/site
18
- sitedir = $(DESTDIR)/usr/local/rubinius/1.0.0/site
19
- oldincludedir = $(DESTDIR)/usr/include
20
- libexecdir = $(exec_prefix)/libexec
21
- rubyhdrdir = $(DESTDIR)/usr/local/rubinius/1.0.0/include
22
- libdir = $(exec_prefix)/lib
23
- dvidir = $(docdir)
24
- docdir = $(datarootdir)/doc/$(PACKAGE)
25
- psdir = $(docdir)
26
- infodir = $(datarootdir)/info
27
- datadir = $(datarootdir)
28
- archdir = $(DESTDIR)/usr/local/rubinius/1.0.0/site/x86_64-darwin10.3.0
29
- sharedstatedir = $(prefix)/com
30
- localstatedir = $(prefix)/var
31
- pdfdir = $(docdir)
32
- htmldir = $(docdir)
33
- datarootdir = $(prefix)/share
34
- sbindir = $(exec_prefix)/sbin
35
- sitelibdir = $(DESTDIR)/usr/local/rubinius/1.0.0/site
36
- mandir = $(datarootdir)/man
37
- sitearchdir = $(DESTDIR)/usr/local/rubinius/1.0.0/site/x86_64-darwin10.3.0
38
-
39
- CC = gcc
40
- LIBRUBY = $(LIBRUBY_SO)
41
- LIBRUBY_A =
42
- LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
43
- LIBRUBYARG_STATIC =
44
-
45
- RUBY_EXTCONF_H =
46
- cflags =
47
- optflags =
48
- debugflags =
49
- warnflags =
50
- CFLAGS = -ggdb3 -O2 -fPIC
51
- INCFLAGS = -I. -I$(topdir) -I$(hdrdir) -I$(srcdir)
52
- DEFS =
53
- CPPFLAGS =
54
- CXXFLAGS = $(CFLAGS)
55
- ldflags =
56
- dldflags =
57
- archflag =
58
- DLDFLAGS = $(ldflags) $(dldflags) $(archflag)
59
- LDSHARED = cc -dynamic -bundle -undefined suppress -flat_namespace
60
- AR = ar
61
- EXEEXT =
62
-
63
- RUBY_INSTALL_NAME = rbx
64
- RUBY_SO_NAME = rubinius-1.0.0
65
- arch = x86_64-darwin10.3.0
66
- sitearch = x86_64-darwin10.3.0
67
- ruby_version = 1.8
68
- ruby = /usr/local/rubinius/1.0.0/bin/rbx
69
- RUBY = $(ruby)
70
- RM = rm -f
71
- MAKEDIRS = mkdir -p
72
- INSTALL = install -c
73
- INSTALL_PROG = $(INSTALL) -m 0755
74
- INSTALL_DATA = $(INSTALL) -m 644
75
- COPY = cp
76
-
77
- #### End of system configuration section. ####
78
-
79
- preload =
80
-
81
- libpath = . $(libdir)
82
- LIBPATH = -L. -L$(libdir)
83
- DEFFILE =
84
-
85
- CLEANFILES = mkmf.log
86
- DISTCLEANFILES =
87
-
88
- extout =
89
- extout_prefix =
90
- target_prefix =
91
- LOCAL_LIBS =
92
- LIBS = $(LIBRUBYARG_STATIC)
93
- SRCS = atomic_reference.c
94
- OBJS = atomic_reference.o
95
- TARGET = atomic_reference
96
- DLLIB = $(TARGET).bundle
97
- EXTSTATIC =
98
- STATIC_LIB =
99
-
100
- BINDIR = $(bindir)
101
- RUBYCOMMONDIR = $(sitedir)$(target_prefix)
102
- RUBYLIBDIR = $(sitelibdir)$(target_prefix)
103
- RUBYARCHDIR = $(sitearchdir)$(target_prefix)
104
-
105
- TARGET_SO = $(DLLIB)
106
- CLEANLIBS = $(TARGET).bundle
107
- CLEANOBJS = *.o *.bak
108
-
109
- all: $(DLLIB)
110
- static: $(STATIC_LIB)
111
- .PHONY: all install static install-so install-rb
112
- .PHONY: clean clean-so clean-rb
113
-
114
- clean:
115
- @-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
116
-
117
- distclean: clean
118
- @-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
119
- @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
120
-
121
- realclean: distclean
122
- install: install-so install-rb
123
-
124
- install-so: $(RUBYARCHDIR)
125
- install-so: $(RUBYARCHDIR)/$(DLLIB)
126
- $(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
127
- $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
128
- install-rb: pre-install-rb install-rb-default
129
- install-rb-default: pre-install-rb-default
130
- pre-install-rb: Makefile
131
- pre-install-rb-default: Makefile
132
- $(RUBYARCHDIR):
133
- $(MAKEDIRS) $@
134
-
135
- site-install: site-install-so site-install-rb
136
- site-install-so: install-so
137
- site-install-rb: install-rb
138
-
139
- .SUFFIXES: .c .m .cc .cxx .cpp .C .o
140
-
141
- .cc.o:
142
- $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
143
-
144
- .cxx.o:
145
- $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
146
-
147
- .cpp.o:
148
- $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
149
-
150
- .C.o:
151
- $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
152
-
153
- .c.o:
154
- $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
155
-
156
- $(DLLIB): $(OBJS) Makefile
157
- @-$(RM) $@
158
- $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
159
-
160
-
161
-
162
- $(OBJS): ruby.h defines.h
Binary file
Binary file
data/ext/extconf.rbc DELETED
@@ -1,99 +0,0 @@
1
- !RBIX
2
- 0
3
- x
4
- M
5
- 1
6
- n
7
- n
8
- x
9
- 10
10
- __script__
11
- i
12
- 33
13
- 5
14
- 7
15
- 0
16
- 64
17
- 47
18
- 49
19
- 1
20
- 1
21
- 15
22
- 7
23
- 2
24
- 64
25
- 19
26
- 0
27
- 15
28
- 5
29
- 20
30
- 0
31
- 47
32
- 49
33
- 3
34
- 1
35
- 15
36
- 5
37
- 20
38
- 0
39
- 47
40
- 49
41
- 4
42
- 1
43
- 15
44
- 2
45
- 11
46
- I
47
- 3
48
- I
49
- 1
50
- I
51
- 0
52
- I
53
- 0
54
- n
55
- p
56
- 5
57
- s
58
- 4
59
- mkmf
60
- x
61
- 7
62
- require
63
- s
64
- 16
65
- atomic_reference
66
- x
67
- 10
68
- dir_config
69
- x
70
- 15
71
- create_makefile
72
- p
73
- 9
74
- I
75
- 0
76
- I
77
- 1
78
- I
79
- 9
80
- I
81
- 2
82
- I
83
- f
84
- I
85
- 3
86
- I
87
- 17
88
- I
89
- 4
90
- I
91
- 21
92
- x
93
- 45
94
- /Users/headius/projects/atomic/ext/extconf.rb
95
- p
96
- 1
97
- x
98
- 14
99
- extension_name
data/lib/atomic.rbc DELETED
@@ -1,1655 +0,0 @@
1
- !RBIX
2
- 0
3
- x
4
- M
5
- 1
6
- n
7
- n
8
- x
9
- 10
10
- __script__
11
- i
12
- 120
13
- 5
14
- 7
15
- 0
16
- 64
17
- 47
18
- 49
19
- 1
20
- 1
21
- 15
22
- 45
23
- 2
24
- 3
25
- 7
26
- 4
27
- 1
28
- 65
29
- 49
30
- 5
31
- 3
32
- 13
33
- 45
34
- 2
35
- 6
36
- 12
37
- 7
38
- 7
39
- 12
40
- 7
41
- 8
42
- 12
43
- 65
44
- 12
45
- 49
46
- 9
47
- 4
48
- 15
49
- 48
50
- 7
51
- 15
52
- 26
53
- 93
54
- 0
55
- 15
56
- 29
57
- 57
58
- 0
59
- 5
60
- 7
61
- 10
62
- 64
63
- 47
64
- 49
65
- 1
66
- 1
67
- 30
68
- 8
69
- 114
70
- 26
71
- 93
72
- 1
73
- 15
74
- 24
75
- 13
76
- 45
77
- 11
78
- 12
79
- 12
80
- 49
81
- 13
82
- 1
83
- 10
84
- 74
85
- 8
86
- 109
87
- 15
88
- 45
89
- 2
90
- 14
91
- 7
92
- 15
93
- 1
94
- 45
95
- 4
96
- 16
97
- 49
98
- 17
99
- 3
100
- 13
101
- 45
102
- 2
103
- 18
104
- 12
105
- 7
106
- 7
107
- 12
108
- 7
109
- 19
110
- 12
111
- 65
112
- 12
113
- 49
114
- 9
115
- 4
116
- 15
117
- 48
118
- 7
119
- 25
120
- 8
121
- 114
122
- 15
123
- 92
124
- 1
125
- 27
126
- 34
127
- 92
128
- 0
129
- 27
130
- 15
131
- 2
132
- 11
133
- I
134
- 8
135
- I
136
- 0
137
- I
138
- 0
139
- I
140
- 0
141
- n
142
- p
143
- 20
144
- s
145
- 6
146
- thread
147
- x
148
- 7
149
- require
150
- x
151
- 8
152
- Rubinius
153
- n
154
- x
155
- 6
156
- Atomic
157
- x
158
- 10
159
- open_class
160
- n
161
- x
162
- 14
163
- __class_init__
164
- M
165
- 1
166
- n
167
- n
168
- x
169
- 6
170
- Atomic
171
- i
172
- 107
173
- 5
174
- 66
175
- 45
176
- 0
177
- 1
178
- 7
179
- 2
180
- 45
181
- 3
182
- 4
183
- 65
184
- 49
185
- 5
186
- 3
187
- 15
188
- 1
189
- 15
190
- 45
191
- 0
192
- 6
193
- 7
194
- 7
195
- 7
196
- 8
197
- 65
198
- 67
199
- 48
200
- 9
201
- 49
202
- 10
203
- 4
204
- 15
205
- 45
206
- 0
207
- 11
208
- 7
209
- 12
210
- 7
211
- 13
212
- 65
213
- 67
214
- 48
215
- 9
216
- 49
217
- 10
218
- 4
219
- 15
220
- 45
221
- 0
222
- 14
223
- 7
224
- 15
225
- 7
226
- 16
227
- 65
228
- 67
229
- 48
230
- 9
231
- 49
232
- 10
233
- 4
234
- 15
235
- 45
236
- 0
237
- 17
238
- 7
239
- 18
240
- 7
241
- 19
242
- 65
243
- 67
244
- 48
245
- 9
246
- 49
247
- 10
248
- 4
249
- 15
250
- 45
251
- 0
252
- 20
253
- 7
254
- 21
255
- 7
256
- 22
257
- 65
258
- 67
259
- 48
260
- 9
261
- 49
262
- 10
263
- 4
264
- 15
265
- 45
266
- 0
267
- 23
268
- 7
269
- 24
270
- 7
271
- 25
272
- 65
273
- 67
274
- 48
275
- 9
276
- 49
277
- 10
278
- 4
279
- 11
280
- I
281
- 5
282
- I
283
- 0
284
- I
285
- 0
286
- I
287
- 0
288
- n
289
- p
290
- 26
291
- x
292
- 8
293
- Rubinius
294
- n
295
- x
296
- 21
297
- ConcurrentUpdateError
298
- x
299
- 11
300
- ThreadError
301
- n
302
- x
303
- 10
304
- open_class
305
- n
306
- x
307
- 10
308
- initialize
309
- M
310
- 1
311
- n
312
- n
313
- x
314
- 10
315
- initialize
316
- i
317
- 38
318
- 23
319
- 0
320
- 10
321
- 8
322
- 1
323
- 19
324
- 0
325
- 15
326
- 45
327
- 0
328
- 1
329
- 13
330
- 71
331
- 2
332
- 47
333
- 9
334
- 30
335
- 47
336
- 48
337
- 3
338
- 13
339
- 20
340
- 0
341
- 47
342
- 49
343
- 4
344
- 1
345
- 15
346
- 8
347
- 35
348
- 20
349
- 0
350
- 49
351
- 2
352
- 1
353
- 38
354
- 5
355
- 11
356
- I
357
- 4
358
- I
359
- 1
360
- I
361
- 0
362
- I
363
- 1
364
- n
365
- p
366
- 6
367
- x
368
- 17
369
- InternalReference
370
- n
371
- x
372
- 3
373
- new
374
- x
375
- 8
376
- allocate
377
- x
378
- 10
379
- initialize
380
- x
381
- 4
382
- @ref
383
- p
384
- 5
385
- I
386
- 0
387
- I
388
- 7
389
- I
390
- 8
391
- I
392
- 8
393
- I
394
- 26
395
- x
396
- 44
397
- /Users/headius/projects/atomic/lib/atomic.rb
398
- p
399
- 1
400
- x
401
- 5
402
- value
403
- x
404
- 17
405
- method_visibility
406
- x
407
- 15
408
- add_defn_method
409
- n
410
- x
411
- 5
412
- value
413
- M
414
- 1
415
- n
416
- n
417
- x
418
- 5
419
- value
420
- i
421
- 5
422
- 39
423
- 0
424
- 48
425
- 1
426
- 11
427
- I
428
- 1
429
- I
430
- 0
431
- I
432
- 0
433
- I
434
- 0
435
- n
436
- p
437
- 2
438
- x
439
- 4
440
- @ref
441
- x
442
- 3
443
- get
444
- p
445
- 5
446
- I
447
- 0
448
- I
449
- b
450
- I
451
- 0
452
- I
453
- c
454
- I
455
- 5
456
- x
457
- 44
458
- /Users/headius/projects/atomic/lib/atomic.rb
459
- p
460
- 0
461
- n
462
- x
463
- 6
464
- value=
465
- M
466
- 1
467
- n
468
- n
469
- x
470
- 6
471
- value=
472
- i
473
- 11
474
- 39
475
- 0
476
- 20
477
- 0
478
- 49
479
- 1
480
- 1
481
- 15
482
- 20
483
- 0
484
- 11
485
- I
486
- 3
487
- I
488
- 1
489
- I
490
- 1
491
- I
492
- 1
493
- n
494
- p
495
- 2
496
- x
497
- 4
498
- @ref
499
- x
500
- 3
501
- set
502
- p
503
- 7
504
- I
505
- 0
506
- I
507
- f
508
- I
509
- 0
510
- I
511
- 10
512
- I
513
- 8
514
- I
515
- 11
516
- I
517
- b
518
- x
519
- 44
520
- /Users/headius/projects/atomic/lib/atomic.rb
521
- p
522
- 1
523
- x
524
- 9
525
- new_value
526
- n
527
- x
528
- 4
529
- swap
530
- M
531
- 1
532
- n
533
- n
534
- x
535
- 4
536
- swap
537
- i
538
- 8
539
- 39
540
- 0
541
- 20
542
- 0
543
- 49
544
- 1
545
- 1
546
- 11
547
- I
548
- 3
549
- I
550
- 1
551
- I
552
- 1
553
- I
554
- 1
555
- n
556
- p
557
- 2
558
- x
559
- 4
560
- @ref
561
- x
562
- 11
563
- get_and_set
564
- p
565
- 5
566
- I
567
- 0
568
- I
569
- 14
570
- I
571
- 0
572
- I
573
- 15
574
- I
575
- 8
576
- x
577
- 44
578
- /Users/headius/projects/atomic/lib/atomic.rb
579
- p
580
- 1
581
- x
582
- 9
583
- new_value
584
- n
585
- x
586
- 6
587
- update
588
- M
589
- 1
590
- n
591
- n
592
- x
593
- 6
594
- update
595
- i
596
- 49
597
- 26
598
- 93
599
- 0
600
- 15
601
- 29
602
- 17
603
- 0
604
- 5
605
- 56
606
- 0
607
- 47
608
- 50
609
- 1
610
- 0
611
- 30
612
- 8
613
- 45
614
- 26
615
- 93
616
- 1
617
- 15
618
- 24
619
- 13
620
- 45
621
- 2
622
- 3
623
- 12
624
- 49
625
- 4
626
- 1
627
- 10
628
- 34
629
- 8
630
- 40
631
- 15
632
- 8
633
- 4
634
- 25
635
- 8
636
- 45
637
- 15
638
- 92
639
- 1
640
- 27
641
- 34
642
- 92
643
- 0
644
- 27
645
- 11
646
- I
647
- 5
648
- I
649
- 0
650
- I
651
- 0
652
- I
653
- 0
654
- n
655
- p
656
- 5
657
- M
658
- 1
659
- p
660
- 2
661
- x
662
- 9
663
- for_block
664
- t
665
- n
666
- x
667
- 6
668
- update
669
- i
670
- 9
671
- 57
672
- 19
673
- 0
674
- 15
675
- 20
676
- 0
677
- 60
678
- 1
679
- 11
680
- I
681
- 3
682
- I
683
- 1
684
- I
685
- 1
686
- I
687
- 1
688
- n
689
- p
690
- 0
691
- p
692
- 3
693
- I
694
- 0
695
- I
696
- 1d
697
- I
698
- 9
699
- x
700
- 44
701
- /Users/headius/projects/atomic/lib/atomic.rb
702
- p
703
- 1
704
- x
705
- 1
706
- v
707
- x
708
- 10
709
- try_update
710
- x
711
- 21
712
- ConcurrentUpdateError
713
- n
714
- x
715
- 3
716
- ===
717
- p
718
- 9
719
- I
720
- 0
721
- I
722
- 1b
723
- I
724
- 0
725
- I
726
- 1d
727
- I
728
- 16
729
- I
730
- 1e
731
- I
732
- 23
733
- I
734
- 1f
735
- I
736
- 31
737
- x
738
- 44
739
- /Users/headius/projects/atomic/lib/atomic.rb
740
- p
741
- 0
742
- n
743
- x
744
- 10
745
- try_update
746
- M
747
- 1
748
- n
749
- n
750
- x
751
- 10
752
- try_update
753
- i
754
- 43
755
- 39
756
- 0
757
- 48
758
- 1
759
- 19
760
- 0
761
- 15
762
- 20
763
- 0
764
- 60
765
- 1
766
- 19
767
- 1
768
- 15
769
- 39
770
- 0
771
- 20
772
- 0
773
- 20
774
- 1
775
- 49
776
- 2
777
- 2
778
- 9
779
- 28
780
- 1
781
- 8
782
- 39
783
- 5
784
- 45
785
- 3
786
- 4
787
- 7
788
- 5
789
- 64
790
- 47
791
- 49
792
- 6
793
- 2
794
- 15
795
- 20
796
- 1
797
- 11
798
- I
799
- 5
800
- I
801
- 2
802
- I
803
- 0
804
- I
805
- 0
806
- n
807
- p
808
- 7
809
- x
810
- 4
811
- @ref
812
- x
813
- 3
814
- get
815
- x
816
- 15
817
- compare_and_set
818
- x
819
- 21
820
- ConcurrentUpdateError
821
- n
822
- s
823
- 13
824
- Update failed
825
- x
826
- 5
827
- raise
828
- p
829
- 13
830
- I
831
- 0
832
- I
833
- 23
834
- I
835
- 0
836
- I
837
- 24
838
- I
839
- 7
840
- I
841
- 25
842
- I
843
- e
844
- I
845
- 26
846
- I
847
- 1c
848
- I
849
- 27
850
- I
851
- 28
852
- I
853
- 29
854
- I
855
- 2b
856
- x
857
- 44
858
- /Users/headius/projects/atomic/lib/atomic.rb
859
- p
860
- 2
861
- x
862
- 9
863
- old_value
864
- x
865
- 9
866
- new_value
867
- p
868
- 15
869
- I
870
- 2
871
- I
872
- 4
873
- I
874
- 11
875
- I
876
- 7
877
- I
878
- 20
879
- I
880
- b
881
- I
882
- 2f
883
- I
884
- f
885
- I
886
- 3e
887
- I
888
- 14
889
- I
890
- 4d
891
- I
892
- 1b
893
- I
894
- 5c
895
- I
896
- 23
897
- I
898
- 6b
899
- x
900
- 44
901
- /Users/headius/projects/atomic/lib/atomic.rb
902
- p
903
- 0
904
- x
905
- 13
906
- attach_method
907
- s
908
- 16
909
- atomic_reference
910
- x
911
- 9
912
- LoadError
913
- n
914
- x
915
- 3
916
- ===
917
- n
918
- x
919
- 17
920
- InternalReference
921
- n
922
- x
923
- 16
924
- open_class_under
925
- n
926
- M
927
- 1
928
- n
929
- n
930
- x
931
- 17
932
- InternalReference
933
- i
934
- 77
935
- 5
936
- 66
937
- 45
938
- 0
939
- 1
940
- 7
941
- 2
942
- 7
943
- 3
944
- 65
945
- 67
946
- 48
947
- 4
948
- 49
949
- 5
950
- 4
951
- 15
952
- 45
953
- 0
954
- 6
955
- 7
956
- 7
957
- 7
958
- 8
959
- 65
960
- 67
961
- 48
962
- 4
963
- 49
964
- 5
965
- 4
966
- 15
967
- 45
968
- 0
969
- 9
970
- 7
971
- 10
972
- 7
973
- 11
974
- 65
975
- 67
976
- 48
977
- 4
978
- 49
979
- 5
980
- 4
981
- 15
982
- 45
983
- 0
984
- 12
985
- 7
986
- 13
987
- 7
988
- 14
989
- 65
990
- 67
991
- 48
992
- 4
993
- 49
994
- 5
995
- 4
996
- 15
997
- 45
998
- 0
999
- 15
1000
- 7
1001
- 16
1002
- 7
1003
- 17
1004
- 65
1005
- 67
1006
- 48
1007
- 4
1008
- 49
1009
- 5
1010
- 4
1011
- 11
1012
- I
1013
- 5
1014
- I
1015
- 0
1016
- I
1017
- 0
1018
- I
1019
- 0
1020
- n
1021
- p
1022
- 18
1023
- x
1024
- 8
1025
- Rubinius
1026
- n
1027
- x
1028
- 10
1029
- initialize
1030
- M
1031
- 1
1032
- n
1033
- n
1034
- x
1035
- 10
1036
- initialize
1037
- i
1038
- 29
1039
- 45
1040
- 0
1041
- 1
1042
- 13
1043
- 71
1044
- 2
1045
- 47
1046
- 9
1047
- 19
1048
- 47
1049
- 48
1050
- 3
1051
- 13
1052
- 47
1053
- 48
1054
- 4
1055
- 15
1056
- 8
1057
- 21
1058
- 48
1059
- 2
1060
- 38
1061
- 5
1062
- 15
1063
- 20
1064
- 0
1065
- 38
1066
- 6
1067
- 11
1068
- I
1069
- 3
1070
- I
1071
- 1
1072
- I
1073
- 1
1074
- I
1075
- 1
1076
- n
1077
- p
1078
- 7
1079
- x
1080
- 5
1081
- Mutex
1082
- n
1083
- x
1084
- 3
1085
- new
1086
- x
1087
- 8
1088
- allocate
1089
- x
1090
- 10
1091
- initialize
1092
- x
1093
- 6
1094
- @mutex
1095
- x
1096
- 6
1097
- @value
1098
- p
1099
- 7
1100
- I
1101
- 0
1102
- I
1103
- 32
1104
- I
1105
- 0
1106
- I
1107
- 33
1108
- I
1109
- 18
1110
- I
1111
- 34
1112
- I
1113
- 1d
1114
- x
1115
- 44
1116
- /Users/headius/projects/atomic/lib/atomic.rb
1117
- p
1118
- 1
1119
- x
1120
- 5
1121
- value
1122
- x
1123
- 17
1124
- method_visibility
1125
- x
1126
- 15
1127
- add_defn_method
1128
- n
1129
- x
1130
- 3
1131
- get
1132
- M
1133
- 1
1134
- n
1135
- n
1136
- x
1137
- 3
1138
- get
1139
- i
1140
- 8
1141
- 39
1142
- 0
1143
- 56
1144
- 1
1145
- 50
1146
- 2
1147
- 0
1148
- 11
1149
- I
1150
- 2
1151
- I
1152
- 0
1153
- I
1154
- 0
1155
- I
1156
- 0
1157
- n
1158
- p
1159
- 3
1160
- x
1161
- 6
1162
- @mutex
1163
- M
1164
- 1
1165
- p
1166
- 2
1167
- x
1168
- 9
1169
- for_block
1170
- t
1171
- n
1172
- x
1173
- 3
1174
- get
1175
- i
1176
- 3
1177
- 39
1178
- 0
1179
- 11
1180
- I
1181
- 2
1182
- I
1183
- 0
1184
- I
1185
- 0
1186
- I
1187
- 0
1188
- I
1189
- -2
1190
- p
1191
- 1
1192
- x
1193
- 6
1194
- @value
1195
- p
1196
- 3
1197
- I
1198
- 0
1199
- I
1200
- 38
1201
- I
1202
- 3
1203
- x
1204
- 44
1205
- /Users/headius/projects/atomic/lib/atomic.rb
1206
- p
1207
- 0
1208
- x
1209
- 11
1210
- synchronize
1211
- p
1212
- 5
1213
- I
1214
- 0
1215
- I
1216
- 37
1217
- I
1218
- 0
1219
- I
1220
- 38
1221
- I
1222
- 8
1223
- x
1224
- 44
1225
- /Users/headius/projects/atomic/lib/atomic.rb
1226
- p
1227
- 0
1228
- n
1229
- x
1230
- 3
1231
- set
1232
- M
1233
- 1
1234
- n
1235
- n
1236
- x
1237
- 3
1238
- set
1239
- i
1240
- 8
1241
- 39
1242
- 0
1243
- 56
1244
- 1
1245
- 50
1246
- 2
1247
- 0
1248
- 11
1249
- I
1250
- 3
1251
- I
1252
- 1
1253
- I
1254
- 1
1255
- I
1256
- 1
1257
- n
1258
- p
1259
- 3
1260
- x
1261
- 6
1262
- @mutex
1263
- M
1264
- 1
1265
- p
1266
- 2
1267
- x
1268
- 9
1269
- for_block
1270
- t
1271
- n
1272
- x
1273
- 3
1274
- set
1275
- i
1276
- 6
1277
- 21
1278
- 1
1279
- 0
1280
- 38
1281
- 0
1282
- 11
1283
- I
1284
- 2
1285
- I
1286
- 0
1287
- I
1288
- 0
1289
- I
1290
- 0
1291
- I
1292
- -2
1293
- p
1294
- 1
1295
- x
1296
- 6
1297
- @value
1298
- p
1299
- 3
1300
- I
1301
- 0
1302
- I
1303
- 3c
1304
- I
1305
- 6
1306
- x
1307
- 44
1308
- /Users/headius/projects/atomic/lib/atomic.rb
1309
- p
1310
- 0
1311
- x
1312
- 11
1313
- synchronize
1314
- p
1315
- 5
1316
- I
1317
- 0
1318
- I
1319
- 3b
1320
- I
1321
- 0
1322
- I
1323
- 3c
1324
- I
1325
- 8
1326
- x
1327
- 44
1328
- /Users/headius/projects/atomic/lib/atomic.rb
1329
- p
1330
- 1
1331
- x
1332
- 9
1333
- new_value
1334
- n
1335
- x
1336
- 11
1337
- get_and_set
1338
- M
1339
- 1
1340
- n
1341
- n
1342
- x
1343
- 11
1344
- get_and_set
1345
- i
1346
- 8
1347
- 39
1348
- 0
1349
- 56
1350
- 1
1351
- 50
1352
- 2
1353
- 0
1354
- 11
1355
- I
1356
- 3
1357
- I
1358
- 1
1359
- I
1360
- 1
1361
- I
1362
- 1
1363
- n
1364
- p
1365
- 3
1366
- x
1367
- 6
1368
- @mutex
1369
- M
1370
- 1
1371
- p
1372
- 2
1373
- x
1374
- 9
1375
- for_block
1376
- t
1377
- n
1378
- x
1379
- 11
1380
- get_and_set
1381
- i
1382
- 14
1383
- 39
1384
- 0
1385
- 19
1386
- 0
1387
- 15
1388
- 21
1389
- 1
1390
- 0
1391
- 38
1392
- 0
1393
- 15
1394
- 20
1395
- 0
1396
- 11
1397
- I
1398
- 3
1399
- I
1400
- 1
1401
- I
1402
- 0
1403
- I
1404
- 0
1405
- I
1406
- -2
1407
- p
1408
- 1
1409
- x
1410
- 6
1411
- @value
1412
- p
1413
- 9
1414
- I
1415
- 0
1416
- I
1417
- 40
1418
- I
1419
- 0
1420
- I
1421
- 41
1422
- I
1423
- 5
1424
- I
1425
- 42
1426
- I
1427
- b
1428
- I
1429
- 43
1430
- I
1431
- e
1432
- x
1433
- 44
1434
- /Users/headius/projects/atomic/lib/atomic.rb
1435
- p
1436
- 1
1437
- x
1438
- 9
1439
- old_value
1440
- x
1441
- 11
1442
- synchronize
1443
- p
1444
- 5
1445
- I
1446
- 0
1447
- I
1448
- 3f
1449
- I
1450
- 0
1451
- I
1452
- 40
1453
- I
1454
- 8
1455
- x
1456
- 44
1457
- /Users/headius/projects/atomic/lib/atomic.rb
1458
- p
1459
- 1
1460
- x
1461
- 9
1462
- new_value
1463
- n
1464
- x
1465
- 15
1466
- compare_and_set
1467
- M
1468
- 1
1469
- n
1470
- n
1471
- x
1472
- 15
1473
- compare_and_set
1474
- i
1475
- 57
1476
- 39
1477
- 0
1478
- 48
1479
- 1
1480
- 9
1481
- 9
1482
- 1
1483
- 8
1484
- 11
1485
- 3
1486
- 11
1487
- 15
1488
- 29
1489
- 41
1490
- 1
1491
- 26
1492
- 93
1493
- 0
1494
- 15
1495
- 39
1496
- 2
1497
- 20
1498
- 0
1499
- 49
1500
- 3
1501
- 1
1502
- 9
1503
- 31
1504
- 1
1505
- 8
1506
- 33
1507
- 3
1508
- 32
1509
- 15
1510
- 20
1511
- 1
1512
- 38
1513
- 2
1514
- 30
1515
- 8
1516
- 49
1517
- 26
1518
- 39
1519
- 0
1520
- 48
1521
- 4
1522
- 15
1523
- 27
1524
- 34
1525
- 39
1526
- 0
1527
- 48
1528
- 4
1529
- 15
1530
- 15
1531
- 2
1532
- 11
1533
- I
1534
- 5
1535
- I
1536
- 2
1537
- I
1538
- 2
1539
- I
1540
- 2
1541
- n
1542
- p
1543
- 5
1544
- x
1545
- 6
1546
- @mutex
1547
- x
1548
- 8
1549
- try_lock
1550
- x
1551
- 6
1552
- @value
1553
- x
1554
- 6
1555
- equal?
1556
- x
1557
- 6
1558
- unlock
1559
- p
1560
- 13
1561
- I
1562
- 0
1563
- I
1564
- 47
1565
- I
1566
- 0
1567
- I
1568
- 48
1569
- I
1570
- c
1571
- I
1572
- 4a
1573
- I
1574
- 22
1575
- I
1576
- 4b
1577
- I
1578
- 2a
1579
- I
1580
- 4d
1581
- I
1582
- 37
1583
- I
1584
- 4f
1585
- I
1586
- 39
1587
- x
1588
- 44
1589
- /Users/headius/projects/atomic/lib/atomic.rb
1590
- p
1591
- 2
1592
- x
1593
- 9
1594
- old_value
1595
- x
1596
- 9
1597
- new_value
1598
- p
1599
- 11
1600
- I
1601
- 2
1602
- I
1603
- 32
1604
- I
1605
- 11
1606
- I
1607
- 37
1608
- I
1609
- 20
1610
- I
1611
- 3b
1612
- I
1613
- 2f
1614
- I
1615
- 3f
1616
- I
1617
- 3e
1618
- I
1619
- 47
1620
- I
1621
- 4d
1622
- x
1623
- 44
1624
- /Users/headius/projects/atomic/lib/atomic.rb
1625
- p
1626
- 0
1627
- p
1628
- 11
1629
- I
1630
- 0
1631
- I
1632
- 1
1633
- I
1634
- 9
1635
- I
1636
- 3
1637
- I
1638
- 27
1639
- I
1640
- 2e
1641
- I
1642
- 3e
1643
- I
1644
- 2f
1645
- I
1646
- 4b
1647
- I
1648
- 31
1649
- I
1650
- 78
1651
- x
1652
- 44
1653
- /Users/headius/projects/atomic/lib/atomic.rb
1654
- p
1655
- 0