Johannes Schindelin
35ecf5025c
Make ObjectOutputStream's constants available to java.io
...
We will reuse the constants in the upcoming deserialization counterpart.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-06 09:10:50 -06:00
Johannes Schindelin
3dccd68fe7
Implement the Field#set<PrimitiveType> method family
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-06 09:10:50 -06:00
Johannes Schindelin
c2a6f4a726
Implement a Java-compatible ObjectOutputStream
...
The Java Language Specification documents the serialization protocol
implemented by this change set:
http://docs.oracle.com/javase/7/docs/platform/serialization/spec/protocol.html#10258
This change is intended to make it easier to use Avian VM as a drop-in
replacement for the Oracle JVM when serializing objects.
The previous serialization code is still available as
avian.LegacyObjectOutputStream.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-06 09:10:50 -06:00
Johannes Schindelin
f2dd4add26
Implement FilterReader
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-06 09:10:50 -06:00
Johannes Schindelin
2904dd738e
Fix java.lang.reflect.Field.getLong()
...
The bug was that the long was cast to an int, cutting off the most
significant bytes.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-06 09:10:50 -06:00
Johannes Schindelin
6a7c03aef9
Implement the Math#signum method
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-06 09:07:58 -06:00
Johannes Schindelin
f8028c9864
Add a dummy implementation of EmptyStackException
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-06 09:07:58 -06:00
Johannes Schindelin
6159f5cd3c
Support Logger#log(Level,String,Object)
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-06 09:07:58 -06:00
Johannes Schindelin
874bf4ef4c
Initialize Logger instances to the 'INFO' level by default
...
... otherwise, logging would throw an exception when trying to
determine whether the current level allows the message to be logged.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-06 09:07:58 -06:00
Johannes Schindelin
dba8d39e63
Implement Class#getDeclaredClasses
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-06 09:07:58 -06:00
Simon Ochsenreither
5827c450c9
Adds separatorChar and pathSeparatorChar fields to File ...
...
... and fixes a bug which caused path.separator to always return null.
2013-11-06 14:05:25 +01:00
Johannes Schindelin
26c90170a6
Add a minimal FilterInputStream
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-05 14:36:16 -06:00
Joshua Warner
da69b735f4
Merge branch 'addzip' of git://github.com/CUBoulderBoy/avian into CUBoulderBoy-addzip
2013-11-04 17:38:27 -07:00
Johannes Schindelin
7fe3979280
Implement LinkedHashSet
...
This implementation is intentionally simple. If and when the need arises,
we can always implement a more performant version.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 15:11:19 -06:00
Johannes Schindelin
58ea1442fd
Implement LinkedHashMap
...
This implementation is intentionally simple. If and when the need arises,
we can always implement a more performant version.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 15:11:19 -06:00
Johannes Schindelin
c023bd8654
Implement TreeSet#descendingIterator
...
If need be, this functionality can be sped up by implementing a
descending iterator on the tree without copying it into an ArrayList.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 15:11:19 -06:00
Johannes Schindelin
1ed90c38ab
Implement rest of the Arrays#fill family
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 15:11:19 -06:00
Johannes Schindelin
6a81623690
Implement the Arrays#copyOf family
...
... as introduced in Java 6.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 15:11:00 -06:00
Johannes Schindelin
46a55bd024
Implement ArrayList#ensureCapacity
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 14:33:25 -06:00
Johannes Schindelin
eab3b8e448
Implement Collections#reverse
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 14:33:25 -06:00
Johannes Schindelin
a61bcf824f
Implement Collections#binarySearch
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 14:33:25 -06:00
Johannes Schindelin
d37b5ada37
Implement Collections#sort
...
This is really a verbatim translation of Arrays#sort.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 12:08:22 -06:00
Johannes Schindelin
605701e40a
Replace Arrays.sort() with an efficient sort algorithm
...
This change reuses the existing insertion sort (which was previously what
Arrays.sort() executed) in a full intro sort pipeline.
The implementation is based on the Musser paper on intro sort (Musser,
David R. "Introspective sorting and selection algorithms." Softw., Pract.
Exper. 27.8 (1997): 983-993.) and Wikipedia's current description of the
heap sort: http://en.wikipedia.org/wiki/Heapsort .
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-11-04 00:27:04 -06:00
Johannes Schindelin
6c46fe3f1a
Make Vector a Cloneable
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-25 15:32:33 -05:00
Johannes Schindelin
056c65947e
Add Collections#singletonList
...
This is a very dumb implementation that wastes space and time by
constructing a full-blown ArrayList as backend. However, it is
better to have a dumb implementation than none at all, and we can
always do something about the performance when, and if, that should
become necessary.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-25 15:32:33 -05:00
Johannes Schindelin
86c735e649
Add Collections#synchronizedSet
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-25 15:32:33 -05:00
Johannes Schindelin
526dd574d9
Add the Method#isVarArgs method
...
Required by bleeding-edge Beanshell...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-25 15:32:33 -05:00
Johannes Schindelin
0e3e719dd6
Add the Boolean#getBoolean method
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-25 15:32:33 -05:00
Johannes Schindelin
d04cda30ca
Add the Integer#decode method
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-25 15:32:33 -05:00
Johannes Schindelin
2ff0178da4
Adjust fromIndex in String#lastIndexOf if necessary
...
If fromIndex 'is greater than or equal to the length of this string,
it has the same effect as if it were equal to one less than the length
of the string':
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#lastIndexOf%28int,%20int%29
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-25 15:32:33 -05:00
Joshua Warner
b20dcd268c
Merge pull request #85 from dscho/simple-regex
...
Simple regex
2013-10-21 13:30:57 -07:00
Johannes Schindelin
728473e9ad
Support escaped octal and hexadecimal characters in regular expressions
...
In the previous commit, we did not support characters in regular
expressions specified via \0..., \x... or \u... yet. This is a bit more
involved, therefore support for them is added in its own commit.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-21 13:34:33 -05:00
Johannes Schindelin
f55ac46602
Support trivial regular expressions with special escaped characters
...
When a regular expression contains escaped characters such as the
backslash, it is actually still a literal string. So let's support the
trivially-escaped characters, too, that are documented in
http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-21 12:00:17 -05:00
Joshua Warner
02e433ce61
Merge pull request #84 from dscho/random-access-file
...
Write support for the RandomAccessFile
2013-10-21 09:38:44 -07:00
Joshua Warner
e485a468f0
Merge pull request #82 from dscho/dates
...
Implement date parsing / formatting
2013-10-21 09:36:46 -07:00
Johannes Schindelin
3681ae508e
Implement a rudimentary RandomAccessFile#getChannel
...
This implementation is by no means intended to be complete, just enough to
support running http://http://loci.wisc.edu/software/bio-formats's
loci.formats.tools.ImageConverter tool.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-21 10:59:59 -05:00
Johannes Schindelin
3a67f81b50
Add the FileChannel class
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-21 10:59:59 -05:00
Johannes Schindelin
caec6eba67
Add the BufferUnderflowException
...
Pre-compiled code might expect the class to exist...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-21 10:59:59 -05:00
Johannes Schindelin
4f83f8dd98
ByteBuffer: add missing order() methods
...
Avian's ByteBuffer implementation is actually fixed to big endian. So
let's throw an exception if the user tries to change that.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-21 10:59:59 -05:00
Johannes Schindelin
2c0a1c726d
Add write support for RandomAccessFile
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-21 10:59:59 -05:00
Johannes Schindelin
905ddfe613
Add the RandomAccessFile(File file, String mode) constructor
...
As per the Java API.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-21 10:59:58 -05:00
Johannes Schindelin
18f6f7881a
RandomAccessFile: support opening for read/write
...
So far, we only allowed opening in read-only mode. Now, we also support
read/write mode in addition.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-21 10:55:26 -05:00
Johannes Schindelin
4f8b3f8865
Implement a minimal SimpleDateFormat
...
For the moment, this class can only handle dates of the form
"yyyy-MM-dd'T'HH:mm:ss".
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-21 10:41:40 -05:00
Johannes Schindelin
c46baa3524
Add a minimal implementation of DataOutputStream
...
This implements all the methods required by the DataOutput interface; to
run Bio-Formats' bfconvert tool, actually only the write() and writeByte()
methods would be required.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-18 15:10:05 -05:00
Johannes Schindelin
2f87be954c
Add the DataInput / DataOutput interfaces
...
These are part of the standard Java class library API.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-18 15:10:05 -05:00
Johannes Schindelin
6f9a9fd15d
Add java.lang.Double#doubleToLongBits
...
It is different than #doubleToRawLongBits only when the input value
is not a number.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-18 15:01:36 -05:00
Johannes Schindelin
a9ecf1eaed
Complete the java.util.Arrays#toString family of methods
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-18 15:01:36 -05:00
Johannes Schindelin
396c0822cd
Add java.lang.Character#isISOControl(char)
...
... as per the public JavaDoc at
http://docs.oracle.com/javase/6/docs/api/java/lang/Character.html#isISOControl%28char%29
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-18 15:01:36 -05:00
Johannes Schindelin
7aca1b1307
Add java.lang.Boolean#parse(String)
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-18 15:01:36 -05:00
Johannes Schindelin
7476603e1c
Add minimal implementations of ParseException / ParsePosition
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-18 14:58:44 -05:00
Johannes Schindelin
dcfcd193be
Implement Calendar#getTime
...
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-18 14:58:44 -05:00
Johannes Schindelin
466a7fc0c0
Be more verbose when complaining about a non-trivial regex
...
In particular when constructing regular expressions before compiling them,
it is a good idea to state which exact expression is non-trivial when
complaining about it.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2013-10-18 14:56:05 -05:00
Mike Jensen
bfe7b9110a
Removed exception message based on Josh's recommendation
2013-07-17 11:52:48 -06:00
Mike Jensen
7da59277e5
This solves a class cast exception from a call to .values() from an UnmodifiableMap. It also solves an issue where you can modify an unmodifiable collection through the Iterator or ListIterator (depending on the structure type).
2013-07-15 08:54:44 -06:00
Chris Jordan
8eec1a0339
fixing problems!
2013-07-08 16:30:17 -06:00
Aaron Davis
54484bc2eb
add zipOutputStream and change DeflaterOutputStream
2013-07-08 14:13:08 -06:00
Chris Jordan
6970bb26ae
updating zipentry
2013-07-08 13:55:00 -06:00
Chris Jordan
055f820cac
adding zipentry and zipoutputstream classes
2013-07-05 14:39:30 -06:00
Joel Dice
87b02eb949
update copyright years
...
Previously, I used a shell script to extract modification date ranges
from the Git history, but that was complicated and unreliable, so now
every file just gets the same year range in its copyright header. If
someone needs to know when a specific file was modified and by whom,
they can look at the Git history themselves; no need to include it
redundantly in the header.
2013-07-02 20:52:38 -06:00
JET
b66d8b9fbf
Expanded DatagramChannel and corrected blocking configuration in connect().
2013-07-02 10:10:05 -06:00
Joel Dice
6b3a352b38
Merge remote-tracking branch 'origin/master'
2013-04-30 23:08:18 -06:00
Mike Jensen
bd2ebfce07
Merge branch 'master' of https://github.com/ReadyTalk/avian
2013-04-29 11:45:32 -06:00
Mike Jensen
a41f8c0103
Added more to the avian classpath for the collection interface as well as the list interface
...
Added to collection:
public boolean containsAll(Collection<?> c);
public boolean removeAll(Collection<?> c);
Added to list:
public boolean addAll(int startIndex, Collection<? extends T> c);
Also where possible for inner classes I made them extend the abstract version instead of just implement the interface. This helps reduce code duplication where possible.
These changes were necessary to support protobuf 2.5.0
2013-04-29 11:32:56 -06:00
Joel Dice
4e12847858
code rearrangment to improve state of Android libcore tests
...
This mainly moves several sun.misc.Unsafe method implementations from
classpath-openjdk.cpp to builtin.cpp so that the Avian and Android
builds can use them.
It also replaces FinalizerReference.finalizeAllEnqueued with a no-op,
since the real implementations assumes too much about how the VM
handles (or delegates) finalization.
2013-04-23 13:47:15 -06:00
Joel Dice
b4c3eea0f1
set InvocationTargetException target
...
When using the OpenJDK classpath, the target exception and the
Throwable cause are two different fields; we must set them both.
2013-04-18 11:23:59 -06:00
Joel Dice
8546ca5670
fix Avian classpath build
2013-02-22 11:55:01 -07:00
Joel Dice
42d39b1af1
more Android class library work
2013-02-21 15:37:17 -07:00
Victor Shcherb
2d11e7ccd4
Add last modified to file
2013-02-09 09:42:23 +02:00
Victor Shcherb
c8ca83836a
Fix RAF
2013-02-09 09:42:12 +02:00
Alexey Pelykh
f1b2b3f78d
RandomAccessFile
2013-02-09 09:42:12 +02:00
Victor Shcherb
d6aff87ef9
Add java lang math methods
2013-02-09 09:42:11 +02:00
Simon Ochsenreither
57a67fb312
Fix field names, add getters to j.l.Package
2013-02-04 14:14:45 +01:00
Simon Ochsenreither
1db67e463f
Add Class#isEnum and improve error handling in Enum.valueOf
2013-02-03 16:03:15 +01:00
Simon Ochsenreither
b1eb4b9718
Adds code to get the Scala REPL working
2013-01-30 04:31:38 +01:00
Mike Keesey
5061d7fe4d
Making Thread's isInterrupted() non-static and make it use the current instance's interrupted variable.
2012-12-25 18:12:03 -07:00
Pierre Carrier
74b070f9cc
classpath: java.nio.ByteOrder
...
Used by jruby.
(Not saying I'm gonna implement String.format :)
2012-11-11 06:06:18 +01:00
Pierre Carrier
f8ea506021
classpath: j.l.{Integer,Long}.to{Octal,Binary}String
...
Offer support for toOctalString and toBinaryString in Integer and Long.
2012-11-05 00:10:02 +01:00
Pierre Carrier
be952acbcb
classpath: Closeable & Flushable
2012-11-04 02:14:17 +01:00
Joshua Warner
33fed1b710
Merge branch 'master' of github.com:ReadyTalk/avian
2012-10-30 14:00:16 -06:00
Joshua Warner
4c20465294
add basic URLClassLoader implementation
2012-10-30 09:34:16 -06:00
Joel Dice
a3c4b60f43
rename package avian.avian_vm_resource to avian.avianvmresource
...
This package name must match the URL protocol we use for loading
embedded resources, but OpenJDK's URL class won't tolerate underscores
in a protocol name. Also, I had not updated the names of the native
methods in avian.avianvmresource.Handler, leading to
UnsatisfiedLinkErrors when they were called.
2012-10-06 15:33:24 -06:00
Joel Dice
2d9bbec214
fix a couple of ByteBuffer regressions
...
The compact() and put(ByteBuffer) methods regressed as of the recent
refactoring to support direct byte buffers.
2012-09-14 11:40:26 -06:00
Mike Jensen
3372210f45
Added .get() implementation
2012-08-16 16:13:51 -06:00
Joel Dice
2687333a37
Merge remote-tracking branch 'github/master'
2012-08-12 15:03:40 -06:00
Joel Dice
b98abe3f94
fix float to integer conversion
...
Java requires that NaNs be converted to zero and that numbers at or
beyond the limits of integer representation be clamped to the largest
or smallest value that can be represented, respectively.
2012-08-12 14:31:58 -06:00
Joel Dice
47503854d5
Thread.sleep(0) should not sleep indefinitely
...
Our implementation uses Object.wait(long) to implement Thread.sleep,
which had the side effect of interpreting zero as infinity. However,
for Thread.sleep, zero just means zero. I assume that doesn't mean
"don't sleep at all", though, or else the app wouldn't have called
Thread.sleep in the first place, so this patch sleeps for one
millisecond when zero is passed -- just enough to yield the processor
for a bit. Thread.yield might be a better choice in this case, but I
assume the app would have called that directly if that's what it
wanted.
2012-08-12 11:17:59 -06:00
Joel Dice
b325221579
rename "resource" URL protocol to "avian_vm_resource"
...
This fixes a problem with JOSM, which attaches its own meaning to the
"resource" protocol. The new name is less likely to cause such
conflicts.
2012-08-11 19:01:32 -06:00
Joel Dice
e2ff771baa
handle basic argument substitution in MessageFormat.format
...
Thanks to Remi for an initial version of this patch.
2012-08-11 08:58:40 -06:00
Joel Dice
e2416ddb85
strip trailing separators when normalizing java.io.File.path
...
This addresses the case of e.g. new File("c:/foo/").exists() returning
false when the specified directory really does exist.
2012-08-11 08:21:14 -06:00
Joel Dice
01be4b23bb
implement JNI methods needed by AWT
...
These include PushLocalFrame, PopLocalFrame, NewDirectByteBuffer,
GetDirectBufferAddress, and GetDirectBufferCapacity.
2012-08-11 06:56:19 -06:00
Joel Dice
6aba7bef5a
add java.lang.Deprecated
2012-08-06 16:55:49 -06:00
Joel Dice
c63668c1ce
fix ArrayIndexOutOfBoundsException when decoding a UTF-8 stream
2012-08-04 16:11:27 -06:00
Joel Dice
852d77d0b5
implement Arrays.toString(byte[])
2012-08-04 16:08:32 -06:00
Joshua Warner
fffde5f445
add Arrays test for equals and hashCode, handle corner cases with null
2012-07-24 11:31:47 -06:00
Joshua Warner
b034d11221
Ungenerify Arrays.{hashCode|equals}, make Arrays.equals consider nulls equal
2012-07-24 10:03:19 -06:00
Joshua Warner
62ff8440ed
implement Arrays.equals and Arrays.hashCode
2012-07-23 07:28:05 -06:00
Joel Dice
836fc21106
fix bugs in File.getParent and listFiles
...
getParent should return the same value regardless of whether it ends
in a file separator, and listFiles should return null for
non-directories.
2012-07-31 09:27:18 -06:00
Joel Dice
2d6bfa5383
Merge github.com:ReadyTalk/avian
2012-07-24 16:17:09 -06:00
Joel Dice
e85d079cfa
Merge branch 'master' of https://github.com/joshuawarner32/avian
2012-07-24 11:34:18 -06:00
Joel Dice
af34259a01
Merge branch 'master' of https://github.com/joshuawarner32/avian
2012-07-24 10:21:37 -06:00
Joel Dice
52a878fa3e
Merge branch 'master' of https://github.com/joshuawarner32/avian
2012-07-24 09:58:53 -06:00
Mike Keesey
b4ecec3034
Implementing add(T element) in AbstractList, which just calls add(size(), element) and returns true per the spec.
2012-07-23 18:55:11 -06:00
Joel Dice
38e1e3f521
Merge github.com:dicej/avian
2012-07-17 16:55:40 -06:00
Mike Keesey
59280c5780
Fixed isEmpty() on TreeSet, which actually returned !isEmpty().
2012-07-13 15:46:01 -06:00
Joel Dice
9974d91648
implement DatagramChannel.receive and fix Datagrams to be Java 6 compatible
2012-07-10 14:09:14 -06:00
Joel Dice
3d99ff37cb
Merge remote-tracking branch 'origin/master' into dicej-master
2012-07-09 16:46:21 -06:00
Joel Dice
2ab304acb8
Merge github.com:mkeesey/avian
2012-07-07 16:29:18 -06:00
Mike Keesey
ba1719f1ef
EnumSet.allOf can take advantage of the bulk BitSet.set(start, end) operation to run faster instead of adding each element individually.
2012-07-06 23:47:42 -06:00
Mike Keesey
39ad6da290
made getTrueMask in BitSet a lot more rational with fewer code paths.
2012-07-06 23:42:54 -06:00
Mike Keesey
7947981b4b
Fixed issue where BitSet didn't handle a range of 64 bits correctly on bulk operations - now just return the predefined MASK which has all the bits set when requesting that all the bits be set.
2012-07-06 23:33:05 -06:00
Dain
26209efac2
Fix an off-by-1 error in the remove method.
...
The change to only grow the array when the capacity has been reached
exposed a bug in the remove method when shifting the array elements.
2012-07-06 14:03:56 -06:00
Mike Keesey
9c9ee5c26d
Made the bulk clear() fast like bulk set() and flip() for BitSet.
2012-07-05 22:16:19 -06:00
Mike Keesey
990f4fd154
Moved looping through the partitions to change and generating a mask for start and end values into an iterator. This is to use one code path for several bulk-modification operations like flip(start, end) and set(start, end).
2012-07-04 17:12:50 -06:00
Mike Keesey
0c806f82b5
Made the bulk set() function in BitSet a lot faster by applying an appropriate mask to each partition instead of setting each bit individually.
2012-07-04 16:00:12 -06:00
Mike Keesey
5f1b086150
Fixed an off-by-one error when deciding if we should grow BitSets.
2012-07-03 21:28:59 -06:00
Joel Dice
c602f4673b
implement java.nio.channels.DatagramChannel
2012-07-03 11:24:05 -06:00
Mike Keesey
53f229b84d
Removed extraneous TODO.
2012-07-02 16:21:28 -06:00
Joel Dice
fcef9a7f57
remove Override annotations from EnumSet since they confuse Apple's Java 1.5 compiler
2012-07-02 16:15:38 -06:00
Mike Keesey
6e30366d07
Adding EnumSet, which is backed by a speedy BitSet.
2012-07-02 14:28:51 -06:00
Mike Keesey
d419899ac1
Adding both forms of flip() to BitSet.
2012-07-02 14:28:40 -06:00
Mike Keesey
31311160c3
Adding cardinality() to BitSet.
2012-07-02 14:28:34 -06:00
Mike Jensen
e6e65ecfdc
The file already contains the leading slash. hotspot URL.getFile() also returns a leading slash, so instead of removing the leading slash on the file, we just wont append an extra one here
2012-06-28 10:24:35 -06:00
Joel Dice
153b78f479
fix ArrayList performance issue
...
The ArrayList(Collection) constructor was allocating two arrays
instead of one due to an off-by-one error in ArrayList.grow. This
commit fixes that and makes grow and shrink more robust.
2012-06-14 10:55:03 -06:00
Mike Keesey
527526c5ea
Defer to underlying PersistentSet for size.
2012-06-13 08:41:15 -06:00
Mike Keesey
1f7b1a74e8
Adding java.util.SortedSet.
2012-05-22 16:21:57 -06:00
Mike Keesey
97ffc5b15e
Adding java.util.Queue interface and java.util.AbstractQueue.
2012-05-22 15:23:28 -06:00
Mike Keesey
be869932d0
Adding @Target and the associated ElementType enum for specifying the type an annotation is.
2012-05-22 15:18:42 -06:00
Mike Keesey
a5c9dd6f24
Fixing some issues with runtime annotations within avian.
...
We were not properly converting dots to slashes internally for package names
and we did not properly handle Method.getAnnotations and
Method.getAnnotation(Class<T>) on methods without any annotations.
Added some tests to cover these cases.
2012-05-22 14:02:51 -06:00
Joel Dice
0addd8c814
update copyright years
2012-05-11 17:43:27 -06:00
Joel Dice
f0152f1d33
Merge branch 'jdk7'
2012-05-11 16:41:18 -06:00
Joel Dice
d0eda37a90
make Thread.interrupted static to match Java API
2012-05-11 13:23:19 -06:00
Joel Dice
4a4b82d959
Merge remote branch 'oss/master' into jdk7
2012-05-04 20:24:27 -06:00
Joel Dice
1119675b7a
override InputStream.available for FileInputStream and the instance returned by ZipFile.getInputStream
2012-05-04 19:55:53 -06:00
Joel Dice
616c08fee9
Merge remote branch 'oss/master' into jdk7
...
Conflicts:
makefile
2012-04-10 07:53:00 -06:00
JET
2f225795fc
added RuntimePermission and System.getenv()
2012-04-02 22:15:02 -06:00
Joel Dice
97ebf2173c
Merge remote-tracking branch 'origin/master' into jdk7
2012-03-22 17:00:45 -06:00
Joshua Warner
8e6f5ac6e3
add ZipEntry.isDirectory (trivial implementation)
2012-03-21 10:38:30 -06:00
Joel Dice
eb9f5c6dcc
Merge remote branch 'oss/master' into jdk7
2012-03-14 08:22:46 -06:00
Joel Dice
4aefa211a3
File.createNewFile should return false if the file already exists
2012-03-13 08:26:51 -06:00
Joel Dice
6c9a1e1643
add "throws IOException" to java.io.File.createTempFile
2012-03-11 04:57:22 -06:00
Joel Dice
a61c1aba60
Merge remote branch 'oss/master' into jdk7
2012-02-27 18:19:22 -07:00
Joel Dice
b5fda8ee13
use avian.http.Handler for http(s) URLs, not avian.file.Handler
2012-02-27 13:38:47 -07:00
Joel Dice
574a8ea1e2
Merge branch 'master' into prv-ga-merge
2012-02-27 13:28:06 -07:00
Joel Dice
3111f07430
add "throws IOException" to java.io.File.createTempFile
2012-02-20 17:23:18 -07:00
Joel Dice
f63d4584c2
Merge remote branch 'oss/master' into jdk7
2012-02-20 11:08:58 -07:00
Joel Dice
bc5661d6f3
start work on OpenJDK 7 class library port
2012-02-18 15:17:10 -07:00
Joel Dice
750e5f903c
include leading slash in path when parsing URLs in URLStreamHandler
...
This matches the behavior of OpenJDK's version.
2012-02-18 15:14:16 -07:00
Dain
84185f0884
Merge remote branch 'origin/http_url' into prv-ga-merge
2012-02-16 11:08:53 -07:00
Joel Dice
9fe2d69b06
improve seed generation in java.util.Random
...
The previous code caused frequent seed collisions for successive calls
to the no-arg constructor, even for single threaded workloads. This
patch should avoid such collisions in both single and multi-threaded
cases.
2012-02-14 15:17:07 -07:00
Joel Dice
a254d20e0e
improve seed generation in java.util.Random
...
The previous code caused frequent seed collisions for successive calls
to the no-arg constructor, even for single threaded workloads. This
patch should avoid such collisions in both single and multi-threaded
cases.
2012-02-14 13:03:13 -07:00