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
Dain
c323bc86b5
Merge branch 'http_url' into oss-master
2012-02-14 10:54:04 -07:00
Joshua Warner
bbb4529752
implement File.setExecutable(), File.canExecute(), and File.createTempFile()
2012-02-09 14:23:24 -07:00
Joshua Warner
edc768f837
implement File.setExecutable(), File.canExecute(), and File.createTempFile()
2012-02-09 14:04:42 -07:00
Joel Dice
b45528203d
avoid crashes due to calling select or wakeup on a closed Selector
2012-01-31 09:48:05 -07:00
Joel Dice
807f2a8d51
avoid crash when Selector.close is called more than once on the same instance
2012-01-30 13:42:32 -07:00
Joel Dice
7022b23b26
add AbstractCollection.toString implementation
2012-01-12 10:45:05 -07:00
Dain
70408ea717
Fix a bug in parsing the port value from a URL.
2012-01-12 09:55:03 -07:00
Dain
651b0eb49a
Add rudimentary support for http/https protocols in URL.
2012-01-12 09:54:58 -07:00
Joel Dice
9ba7c504da
Merge remote branch 'origin/SWT3.7_UrlUpdates' into oss-master
2011-12-29 11:00:59 -07:00
Ben Limmer
b3850ac76d
Initial attempt at resolving SWT3.7 missing operatons in Avian. Everything seems to be working except floatToIntBits, hence the test case failing.
2011-12-28 15:52:53 -07:00
Dain
c012e18a8b
Add rudimentary support for http/https protocols in URL.
2011-12-02 15:46:36 -07:00
Joel Dice
b29db7fece
fix OpenJDK 7 build error
...
OpenJDK 7's javac doesn't seem to like that we're accessing
Enum.ordinal in compareTo when it's private.
2011-11-19 19:22:34 -07:00
Ben Limmer
21610c1c9b
Merge branch 'master' of ssh://git.ecovate.com/avian
2011-11-09 13:26:51 -07:00
Ben Limmer
89cdd9d0d2
Fixed bug where calling Process.destroy() on a PID that no longer exist kills all processes in Pgroup.
2011-11-09 13:26:36 -07:00
Ben Limmer
f1b0d995a8
Fixed bug where calling Process.destroy() on a PID that no longer exist kills all processes in Pgroup.
2011-11-09 13:18:04 -07:00
Joel Dice
a2c6cc8882
implement ConcurrentLinkedQueue.clear
2011-11-07 15:52:42 -07:00
Joel Dice
21cc4c6a87
implement AbstractList.indexOf
2011-11-04 08:27:11 -06:00
Joel Dice
6153a5c83b
Merge remote-tracking branch 'git/master'
2011-11-04 08:11:14 -06:00
JET
2b2a2e9446
Completion of previous fix.
2011-11-03 19:30:44 -06:00
JET
216b9a05ea
RandomAccessFile now correctly reports lengths for growing files.
2011-11-03 13:39:24 -06:00
Joshua Warner
90dc552463
implement Process.destroy
2011-11-03 12:30:51 -06:00
JET
3b1c769d2b
Fixed RandomAccessFile to update position after reads.
2011-10-24 09:01:17 -06:00
JET
39bee886e3
ByteBuffer and InputStream now better match the standard.
2011-10-20 13:45:47 -06:00
Joel Dice
b862f5f90a
add bare-bones UUID implementation
2011-09-29 18:27:34 -06:00
Joel Dice
296cb74847
add bare-bones ConcurrentLinkedQueue implementation
2011-09-29 18:26:50 -06:00
Joel Dice
a8bb0d074b
implement first() and last() in TreeSet
2011-09-29 18:25:41 -06:00
Joel Dice
84bcbbcaa3
implement asReadOnlyBuffer and getShort(int) in ByteBuffer
2011-09-29 18:25:03 -06:00
Seth Goings
9d636c7ebb
Merge branch 'bufferedReaderFix'
2011-09-01 10:18:06 -06:00
Seth Goings
6ea444f6bf
Fixed incorrect handling of \r\n
2011-09-01 10:17:21 -06:00
Joel Dice
8c9bfccb9e
Merge remote branch 'origin/bufferedReaderFix' into oss-master
2011-09-01 09:37:10 -06:00
Joel Dice
4cc5b5d902
Merge remote branch 'origin/bufferedReaderFix'
2011-09-01 09:35:28 -06:00
Seth Goings
fb3a23f02d
Fixed behavior of readLine accepting *\n\n as a line, not two
2011-09-01 09:31:08 -06:00
Seth Goings
97e03b9f28
Fixed possible ArrayIndexOutOfBounds exception
2011-09-01 09:11:39 -06:00
Seth Goings
c75b06ddc1
Added support for non POSIX line endings. Will now accept: \r and \r\n as line endings (per Sun's JavaDoc)
2011-08-31 20:46:15 -06:00
Anonymous
16aa5c3d59
improve IOException message in the case of a Runtime.exec() failure
...
We now properly forward the errno value from the child when execvp()
fails, which the parent then uses to for the errno message as well as
including the failed command's name in the message.
2011-08-15 07:12:52 -06:00
Joel Dice
1c59aa51d8
add fields and methods to AbstractList for compatibility
...
Google Protocol Buffers relies on these.
2011-08-12 14:29:22 -06:00
Topher Lamey
10183a9870
Added AbstractMap for protobuf, and String getByte encoding for Latin-1
2011-08-12 13:30:51 -06:00
Anonymous
3d7c65d314
implement File.getAbsolutePath()/File.getAbsoluteFile() on Unix platforms
2011-08-11 08:52:49 -06:00
Anonymous
7ed580cf84
fix boolean deserialization in ObjectInputStream
2011-08-11 08:52:09 -06:00
Joel Dice
792653e190
strip leading slashes from name in ZipFile.getEntry
...
This is necessary to allow resource loading of the form
Foo.class.getResourceAsStream("/foo.txt") from JAR files.
2011-07-26 09:09:04 -06:00
Joel Dice
c3824c6844
fix crash when encountering invokespecial call to abstract method
...
We must throw an AbstractMethodError when such a call is executed (not
when the call is compiled), so we compile this case as a call to a
thunk which throws such an error.
2011-07-17 19:54:55 -06:00
Joel Dice
c3fa08c430
fix Thread.interrupt and Thread.interrupted
...
These were both totally broken; the latter wasn't even implemented.
This commit fixes/implements them and adds a simple test to exercise
them.
2011-07-12 14:15:43 -06:00
Anonymous
794a45cb79
fix various ObjectOutputStream/ObjectInputStream bugs
2011-07-01 08:43:43 -06:00
Topher Lamey
9700b7def1
Changes for protobuf support
2011-06-21 14:37:08 -06:00
Topher Lamey
19856bc346
Changes for protobuf support
2011-06-21 14:37:08 -06:00
Topher Lamey
9aae57ee03
Additions for Protobuf support
2011-06-17 11:23:09 -06:00
Topher Lamey
b891db43bc
Additions for Protobuf support
2011-06-17 11:23:08 -06:00
Joel Dice
4514833700
Changes to add end function to Inflater and Deflater per the java spec
2011-05-31 14:46:15 -06:00
Mike Jensen
6b4b4b0b8c
Changes to add end function to Inflater and Deflater per the java spec
2011-05-31 14:31:06 -06:00
Joel Dice
d4da92d300
fix bugs in Deflater and DeflaterOutputStream
...
Previously, Deflater.deflate would pass Z_SYNC_FLUSH to zlib
unconditionally, which caused the output to be enormous when setInput
was called repeatedly with very small input buffers. In order to
allow zlib to buffer output and thereby maximize compression, we must
use Z_NO_FLUSH until Deflater.finish is called, at which point we
switch to Z_FINISH. We also modify DeflaterOutputStream.close to call
Deflater.finish and write any remaining output to the wrapped stream.
2011-05-16 17:12:41 -06:00
Joel Dice
e788a18bc7
implement java.util.zip.CRC32
2011-05-16 17:12:10 -06:00
Joel Dice
18a6393ecf
fix ClassCastException in ZipFile.getInputStream
...
This was being thrown when the parameter passed was a
JarFile.MyJarEntry, not a ZipFile.MyZipEntry, yet we cast it to the
latter.
2011-05-16 10:30:56 -06:00
Joel Dice
f617c5c9ef
Merge remote branch 'origin/localization' into oss-master
2011-04-09 21:43:44 -06:00
Joel Dice
c0f39fbe0c
implement System.nanoTime
...
This is a quick and coarse, but servicable, implementation.
2011-04-08 20:32:33 -06:00
Marcel van den Boer
76fa43548d
Implementation of String.replace(CharSequence, CharSequence)
2011-04-08 20:31:33 -06:00
Joel Dice
1c7abe782d
specify valid code source for system classes
...
This enables use of a class's protection domain to determine what JAR
or directory it came from.
2011-03-31 19:38:44 -06:00
Joel Dice
16a8777fd2
override getResource(s) in SystemClassLoader
...
OpenJDK's java.lang.ClassLoader.getResource makes use of
sun.misc.Launcher to load bootstrap resources, which is not
appropriate for the Avian build, so we override it to ensure we get
the behavior we want.
2011-03-26 18:24:17 -06:00
Joel Dice
3dd091c67a
implement jar and file URL stream handlers
2011-03-25 19:14:21 -06:00
Joel Dice
20baef4e69
implement File.toString
2011-03-25 19:12:47 -06:00
JET
5b830343ba
Properties.java UTF-16 support refactoring.
2011-03-23 17:06:33 -06:00
JET
f6e2f4af21
Merge branch 'master' into localization
2011-02-21 17:58:50 -07:00
Joel Dice
c743140e08
add new subroutine test
...
This test covers the case where a local stack slot is first used to
store an object reference and later to store a subroutine return
address. Unfortunately, this confuses the VM's stack mapping code;
I'll be working on a fix for that next.
The new test requires generating bytecode from scratch, since there's
no reliable way to get javac to generate the code we want. Since we
already had primitive bytecode construction code in Proxy.java, I
factored it out so we can reuse it in Subroutine.java.
2011-02-16 11:41:33 -07:00
Joel Dice
a8645b6b2d
fix BufferedInputStream.read regression
...
In commit 7fffba2
, I had modified BufferedInputStream.read to keep
reading until in.available() <= 0 or an EOF was reached, but neglected
to update the offset into the destination buffer after each read.
This caused the previously-read data to be overwritten. This commit
fixes that regression.
2011-02-08 18:56:25 -07:00
Joel Dice
3aff7dc861
add TreeSet(Collection) constructor
2011-01-20 09:39:16 -07:00
Joel Dice
0ca7ed8c67
add Package.getName
2011-01-20 09:35:34 -07:00
Joel Dice
3a2a46499e
add Reader.mark/markSupported/reset
2011-01-20 09:34:46 -07:00
Joel Dice
b57e734ceb
implement Character.forDigit
2011-01-20 09:33:50 -07:00
Joel Dice
51c56c1b3c
add PrintStream.print[ln] overloads for primitives and char arrays
2011-01-20 08:26:56 -07:00
Joel Dice
69dc2026a1
provide default implementation for ClassLoader.reallyFindLoadedClass
...
This is a non-standard method, so we shouldn't expect subclasses to
implement it.
2011-01-13 08:57:39 -07:00
Joel Dice
0c253c40a2
add ServerSocketChannel.handleReadyOps to fix build
2011-01-13 07:03:28 -07:00
Joel Dice
39018c20e0
check connection readyness in SocketChannel.finishConnect if necessary
2011-01-11 18:39:48 -07:00
Joel Dice
eb3a9f010b
fix false positive return from SocketChannel.finishConnect
...
This fixes a bug in finishConnect such that it would return true even
if the socket had not yet connected successfully.
2011-01-11 18:29:48 -07:00
Joel Dice
4f0dccb53c
add Channels.newChannel methods
2011-01-11 18:26:37 -07:00
Joel Dice
dd52908f89
add URLConnection methods
2011-01-11 18:25:34 -07:00
JET
98166dcc61
ASCII escapes in property files are now parsed, albeit crudely.
2010-12-21 11:39:26 -07:00
JET
7270eb7879
Fixed behavior of Locale and implemented its toString().
2010-12-15 15:18:43 -07:00
Joel Dice
3d49173b0b
avoid inifinite recursion if java.lang.Object is missing; refactoring
...
When trying to create an array class, we try to resolve
java.lang.Object so we can use its vtable in the array class.
However, if Object is missing, we'll try to create and throw a
ClassNotFoundException, which requires creating an array to store the
stack trace, which requires creating an array class, which requires
resolving Object, etc.. This commit short-circuits this process by
telling resolveClass not to create and throw an exception if it can't
find Object.
While doing the above work, I noticed that the implementations of
Classpath::makeThrowable in classpath-avian.cpp and
classpath-openjdk.cpp were identical, so I made makeThrowable a
top-level function.
Finally, I discovered that Thread.setDaemon can only be called before
the target thread has been started, which allowed me to simplify the
code to track daemon threads in the VM.
2010-12-09 19:38:12 -07:00
Joel Dice
a5742f5985
update copyright years
2010-12-05 20:21:09 -07:00
Joel Dice
1271678d41
various fixes for embedded resource loading in OpenJDK build
2010-12-05 17:40:50 -07:00
Joel Dice
d00f4c5390
fix BufferedInputStream.read to not read more than specified length
2010-12-01 15:41:55 -07:00
Joel Dice
84520cde51
Merge remote branch 'origin/master' into openjdk
2010-12-01 14:40:58 -07:00
Joel Dice
d4708907ea
fix non-openjdk build
2010-11-27 11:31:34 -07:00
Joel Dice
459f4d5194
fix openjdk-src bootimage build
...
The main change here is to use a lazily-populated vector to associate
runtime data with classes instead of referencing them directly from
the class which requires updating immutable references in the heap
image. The other changes employ other strategies to avoid trying to
update immutable references.
2010-11-26 12:41:31 -07:00
Joel Dice
f9197cb076
fix a few HashMap bugs
...
1. HashMap.containsValue only checked one hash bucket, which was
pretty much useless :)
2. HashMap.MyIterator.remove was broken in that it failed to
decrement the size field and it did not update the previousCell field
properly, which sometimes led to more than one cell being removed.
2010-11-21 17:26:17 -07:00
Joel Dice
aac85ff278
remove @Overload annotation since Java 1.5.0_19 chokes on it
2010-11-17 10:42:28 -07:00
Joel Dice
a611ccda6f
Merge remote branch 'origin/master' into openjdk
...
Conflicts:
makefile
src/compile.cpp
src/compiler.cpp
src/type-generator.cpp
2010-11-16 10:18:08 -07:00