corda/src
Joel Dice c0d178d5f1 implement ConcurrentHashMap and AtomicReferenceArray
This is the simplest possible ConcurrentHashMap I could come up with
that works and is actually concurrent in the way one would expect.
It's pretty unconventional, being based on a persistent red-black
tree, and not particularly memory-efficient or cache-friendly.  I
think this is a good place to start, though, and it should perform
reasonably well for most workloads.  Patches for a more efficient
implementation are welcome!

I also implemented AtomicReferenceArray, since I was using it in my
first, naive attempt to implement ConcurrentHashMap.

I had to do a bit of refactoring, including moving some non-standard
stuff from java.util.Collections to avian.Data so I could make it
available to code outside the java.util package, which is why I had to
modify several unrelated files.
2014-03-12 10:44:24 -06:00
..
android fix Android classpath build 2013-07-05 14:36:16 -06:00
avian match Java's schizophrenic concept of inner class access modifiers 2014-03-06 16:17:43 -07:00
codegen fix arm/powerpc build 2014-02-25 21:33:08 -07:00
heap remove vm from code paths, to match namespacing 2014-02-21 13:32:28 -07:00
lzma fix endianess bug in LZMA decoding 2012-06-06 12:58:24 -06:00
openjdk fix openjdk-src build failures on osx 10.9 2013-12-07 16:43:18 -07:00
system Merge pull request #180 from joshuawarner32/move-allocator 2014-02-27 08:55:24 -07:00
tools add Slice::resize and Slice::alloc 2014-02-25 20:34:03 -07:00
util use Slice<uint8_t> in FixedAllocator 2014-02-25 20:34:03 -07:00
arm.masm update copyright years 2013-07-02 20:52:38 -06:00
arm.S update copyright years 2013-07-02 20:52:38 -06:00
boot-javahome.cpp update copyright years 2013-07-02 20:52:38 -06:00
boot.cpp update copyright years 2013-07-02 20:52:38 -06:00
bootimage-fields.cpp add optional LZMA support for compressing embedded JARs, boot images, and shared objects 2012-06-02 09:06:22 -06:00
bootimage-template.cpp fix msvc build 2013-03-04 11:09:59 -07:00
builtin.cpp implement ConcurrentHashMap and AtomicReferenceArray 2014-03-12 10:44:24 -06:00
classpath-android.cpp match Java's schizophrenic concept of inner class access modifiers 2014-03-06 16:17:43 -07:00
classpath-avian.cpp Fix for travis build failure for needing to initialize the new field in Thread. 2014-03-04 11:21:14 -07:00
classpath-openjdk.cpp implement ConcurrentHashMap and AtomicReferenceArray 2014-03-12 10:44:24 -06:00
compile-arm.masm update copyright years 2013-07-02 20:52:38 -06:00
compile-arm.S update copyright years 2013-07-02 20:52:38 -06:00
compile-powerpc.S update copyright years 2013-07-02 20:52:38 -06:00
compile-x86.masm update copyright years 2013-07-02 20:52:38 -06:00
compile-x86.S update copyright years 2013-07-02 20:52:38 -06:00
compile.cpp Merge pull request #180 from joshuawarner32/move-allocator 2014-02-27 08:55:24 -07:00
continuations-x86.S update copyright years 2013-07-02 20:52:38 -06:00
embed.cpp update copyright years 2013-07-02 20:52:38 -06:00
embedded-loader.cpp update copyright years 2013-07-02 20:52:38 -06:00
finder.cpp move Allocator to include, properly namespaced 2014-02-25 19:13:41 -07:00
heapdump.cpp update copyright years 2013-07-02 20:52:38 -06:00
heapwalk.cpp update copyright years 2013-07-02 20:52:38 -06:00
interpret.cpp Merge pull request #180 from joshuawarner32/move-allocator 2014-02-27 08:55:24 -07:00
jnienv.cpp break out signal handling from System 2014-02-21 23:36:40 -07:00
lzma-decode.cpp update copyright years 2013-07-02 20:52:38 -06:00
lzma-encode.cpp update copyright years 2013-07-02 20:52:38 -06:00
machine.cpp fix Class.getDeclaredMethods 2014-03-10 08:51:00 -06:00
main.cpp move Allocator to include, properly namespaced 2014-02-25 19:13:41 -07:00
powerpc-regs.S enable Linux PowerPC build 2011-02-26 12:45:22 -07:00
powerpc.S update copyright years 2013-07-02 20:52:38 -06:00
process.cpp update copyright years 2013-07-02 20:52:38 -06:00
thunks.cpp make sure a busy-waiting loop can't block the GC (and hence the whole VM) 2013-12-13 10:39:36 -07:00
types.def Implement Class#getDeclaredClasses 2013-11-06 09:07:58 -06:00
util.cpp consolidate many implicit list types into one 2013-12-11 10:54:50 -07:00
x86.masm update copyright years 2013-07-02 20:52:38 -06:00
x86.S Update x86.S 2013-07-28 10:39:55 -03:00