Joel Dice
7fffba29e6
Keep reading in BufferedInputStream.read until in.available() <= 0
...
This corresponds to the documented behavior of OpenJDK's version.
2010-09-17 16:08:42 -06:00
Joel Dice
d0d53e2e10
fix custom-classloader-related concurrency problems and other bugs
...
The main changes in this commit ensure that we don't hold the global
class lock when doing class resolution using application-defined
classloaders. Such classloaders may do their own locking (in fact,
it's almost certain), making deadlock likely when mixed with VM-level
locking in various orders.
Other changes include a fix to avoid overflow when waiting for
extremely long intervals and a GC root stack mapping bug.
2010-09-16 20:49:02 -06:00
Joel Dice
d819a75f36
more work towards OpenJDK classpath support
...
The biggest change in this commit is to split the system classloader
into two: one for boot classes (e.g. java.lang.*) and another for
application classes. This is necessary to make OpenJDK's security
checks happy.
The rest of the changes include bugfixes and additional JVM method
implementations in classpath-openjdk.cpp.
2010-09-14 10:49:41 -06:00
Zsombor Gegesy
6752505cb8
add File.canRead()/File.canWrite() implementation
2010-09-11 21:23:46 +02:00
Zsombor Gegesy
7376425b24
dummy SecurityManager and related classes added
2010-09-11 21:23:46 +02:00
Zsombor Gegesy
6985e81503
add Properties.load(Reader) implementation
2010-09-11 21:23:46 +02:00
Zsombor Gegesy
5dadac2cb8
API additions for compatibility with harmony's java.util package
2010-09-11 21:23:46 +02:00
Zsombor Gegesy
fc2c6d5100
implement toLowerCase(Locale) in the default case
2010-09-11 21:23:46 +02:00
Joel Dice
64100d17c7
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian into openjdk
2010-09-10 15:58:43 -06:00
Joel Dice
cddea7187d
preliminary support for using OpenJDK's class library
...
Whereas the GNU Classpath port used the strategy of patching Classpath
with core classes from Avian so as to minimize changes to the VM, this
port uses the opposite strategy: abstract and isolate
classpath-specific features in the VM similar to how we abstract away
platform-specific features in system.h. This allows us to use an
unmodified copy of OpenJDK's class library, including its core classes
and augmented by a few VM-specific classes in the "avian" package.
2010-09-10 15:05:29 -06:00
Joel Dice
250a77dc13
handle empty strings properly in Pattern.split
...
We were incorrectly returning an empty array when the input was empty,
whereas we ought to return an array containing a single empty string.
When the pattern to match was empty, we went into a loop to create an
infinite list of empty strings, only to crash once we've run out of
memory. This commit addresses both problems.
2010-09-06 11:16:27 -06:00
Eric Scharff
a26eb1b2b9
Fix missing flush in PrintStream
2010-09-05 09:07:18 -06:00
Joel Dice
17c1a552d5
break each Class, Field, and Method into separate classes
...
In order to facilitate making the VM compatible with multiple class
libraries, it's useful to separate the VM-specific representation of
these classes from the library implementations. This commit
introduces VMClass, VMField, and VMMethod for that purpose.
2010-09-01 10:13:52 -06:00
Joel Dice
4273ff834c
remove uncessary parentheses from Enum.java
2010-09-01 10:10:11 -06:00
Zsombor Gegesy
4169425307
add error classes
2010-08-16 09:23:48 -06:00
Zsombor Gegesy
a50fda1a5e
add ClassLoader.getResources calls
2010-08-16 09:23:48 -06:00
Zsombor Gegesy
03b66375f4
add Collections.enumeration(Collection<T> c)
2010-08-16 09:23:48 -06:00
Zsombor Gegesy
4dc05844df
add java.util.Properties.propertyNames() method
2010-08-16 09:23:48 -06:00
Zsombor Gegesy
1daa93d3c4
add ability to append to files
2010-08-16 09:23:48 -06:00
Joel Dice
f0f35a920f
return a useful value from InflaterInputStream.available
...
Note the following excerpt from PNGFileFormat.java in SWT:
/*
* InflaterInputStream does not consume all bytes in the stream
* when it is closed. This may leave unread IDAT chunks. The fix
* is to read all available bytes before closing it.
*/
while (stream.available() > 0) stream.read();
stream.close();
This code relies on the documented behavior of
InflaterInputStream.available, which must return "0 after EOF has been
reached, otherwise always return 1". This is unlike
InputStream.available, which is documented to return "the number of
bytes that can be read (or skipped over) from this input stream
without blocking by the next caller of a method for this input
stream", and says nothing about how many bytes are left until the end
of stream.
This commit modifies InflaterInputStream.available to behave according
to Sun's documentation.
2010-08-04 18:54:47 -06:00
Joel Dice
b3da635b63
add java.nio.channels.Channels implementation
2010-07-13 18:03:25 -06:00
Joel Dice
a3daeee1f6
Merge branch 'dns'
2010-07-02 12:39:41 -06:00
Joel Dice
1b31fb67e1
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2010-06-15 18:27:51 -06:00
Joel Dice
47d9039b69
switch from gethostbyname to getaddrinfo on POSIX systems
...
gethostbyname may return any combination of IPv4 and IPv6 addresses,
and it's not safe to assume the first address is IPv4, which is all
our code is currently prepared to handle. In contrast, getaddrinfo
allows us to specify whether we want IPv4, IPv6, or both.
We should eventually make this switch on Windows as well, but the
status of getaddrinfo in Windows 2000 is not clear, and MinGW's
ws2tcpip.h only declares it for XP and above.
This commit also adds InetAddress.getByName for explicit DNS lookups.
2010-06-14 16:09:56 -06:00
Joel Dice
b908f575d5
fix several blocking SocketChannel bugs
...
In java-nio.cpp, we can't use GetPrimitiveArrayCritical when reading
from or writing to blocking sockets since it may block the rest of the
VM indefinitely.
In SelectableChannel.java, we can't use a null test on
SelectableChannel.key to determine whether the channel is open since
it might never be registered with a Selector. According to the Sun
documentation, a SelectableChannel is open as soon as it's created, so
that's what we now implement.
2010-06-04 15:37:22 -06:00
mjensen
a6998238d5
Additional of several interfaces which can be used in serialization
2010-05-10 10:17:06 -06:00
JET
b6936fb597
optimized InputStreamReader.read()
2010-04-14 09:43:56 -06:00
JET
b2f5e71d22
ARM and UTF-8 work
2010-04-14 09:26:50 -06:00
Joel Dice
a650f1affa
provide more useful message when throwing exception from Field.set
2010-03-07 12:03:17 -07:00
Joel Dice
5d781a0584
declare Long.MAX_VALUE and Long.MIN_VALUE as longs, not Longs
2010-02-02 09:33:10 -07:00
Joel Dice
2c4e229e6e
convert forward slashes to back slashes in Windows paths
2010-01-11 08:31:01 -07:00
Joel Dice
585dba004b
ignore redundant calls to File{In|Out}putStream.close
...
Previously, we threw an IOException, which did not match Sun's behavior.
2010-01-09 18:22:16 -07:00
Joel Dice
9a056da2f7
increase default buffer size in BufferedInputStream
...
The previous value of 32 bytes did not perform well. This increases it to 4096 bytes, which matches BufferedOutputStream.
2010-01-09 18:20:15 -07:00
Joel Dice
f588a62ae3
fix Classpath 0.98 compatibility issues
2009-12-22 21:34:04 -07:00
Joel Dice
70da0df46b
add Class.getExceptionTypes method
2009-12-15 10:04:51 -07:00
Joel Dice
112e2a71d5
update copyright years
2009-12-05 15:50:23 -07:00
jent
99a1c12682
Files to add Deflater and DeflaterOutputStream to java.util.zip for
...
avian
2009-12-04 12:01:31 -07:00
Joel Dice
6118792ffd
update copyright years
2009-12-02 19:08:29 -07:00
jent
f39469e71c
Changes for better memory managment
2009-12-01 09:54:36 -07:00
Joel Dice
6475beda83
don't null out array in HashMap when size drops to zero
...
As in ArrayList, we want to avoid thrashing in cases where the map is frequently emptied and refilled.
2009-11-19 12:55:53 -07:00
Joel Dice
adcac443e4
don't null out array in ArrayList when size goes to zero
...
This avoids thrashing in the case of a list which is frequently
emptied and refilled with a small number of elements.
2009-11-19 11:43:11 -07:00
Joel Dice
3862128a3a
tolerate EINTR in ServerSocketChannel.accept implementation
...
On POSIX systems, Avian sends a special signal to a thread to
implement Thread.getStackTrace() when called from a different thread.
If the target thread is blocked on a call to accept when this happens,
it will return -1, with errno set to EINTR. Instead of treating this
as an error, we now just loop and call accept again.
2009-11-16 17:23:09 -07:00
Joel Dice
ef00ff80ef
avoid EAGAIN or EWOULDBLOCK errors due to SocketSelector.wakup being called many times between calls to select
2009-10-30 08:55:55 -06:00
Joel Dice
efdfb796d9
implement SocketChannel.isConnected
2009-10-29 16:19:33 -06:00
Joel Dice
2efff818ea
Merge commit 'origin/master' into wip
2009-10-27 09:17:54 -06:00
Joel Dice
a68742200b
return empty stack trace for thread which isn't running
2009-10-26 11:44:29 -06:00
Joel Dice
5967246b37
Merge commit 'origin/master' into wip
2009-10-20 14:15:35 -06:00
Joel Dice
53588b94f3
compare lengths first in String.equals[IgnoreCase] for efficiency
2009-10-19 10:36:48 -06:00
Joel Dice
59ba4aecf2
implement non-blocking socket connections
2009-10-08 16:26:20 -06:00
Joel Dice
447741d6ec
implement java.io.File.renameTo
2009-09-28 17:45:47 -06:00
Joel Dice
fb40b046fd
fix regression in SocketSelector when selecting ServerSocketChannels
2009-09-28 16:54:49 -06:00
Joel Dice
1faf93c163
fix typo in Proxy.makeInvokeCode
2009-09-19 16:27:28 -06:00
Joel Dice
953cb69e5e
move proxy and annotation code from C++ to Java
...
This allows code shrinkers to remove it if it's not used by the application.
2009-09-19 16:21:15 -06:00
Joel Dice
1a2eb3836c
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-09-18 18:01:57 -06:00
Joel Dice
7aa906d97b
support runtime-visible annotations and java.lang.reflect.Proxy
2009-09-18 18:01:54 -06:00
Joel Dice
6fa25f992c
Properties.setProperty should return an Object
2009-09-18 17:51:05 -06:00
Joel Dice
0a96f4c552
ensure WeakHashMap.MyCell objects are registered with the ReferenceQueue
2009-09-01 17:22:31 -06:00
Joel Dice
987330fed5
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-08-28 16:18:36 -06:00
Joel Dice
cd41751912
ensure primitive names are zero-terminated in Class.getName
2009-08-28 16:17:23 -06:00
Joel Dice
73dc058c14
implement StackTraceElement.getFileName properly
2009-08-27 16:28:44 -06:00
Joel Dice
d4e2e05b31
add AccessControlException
2009-08-24 16:40:25 -06:00
Joel Dice
77ae259e41
throw ClassCastException if asked to compare Enums of different types
2009-08-21 16:06:12 -06:00
Joel Dice
4c14a9ab66
implement enough of java.util.regex to ensure String methods work for trivial regular expressions
2009-08-20 11:14:05 -06:00
Joel Dice
71f1efc4cb
add a couple of StringBuffer.append overloads
2009-08-20 08:59:22 -06:00
Joel Dice
c4b5ecec90
implement Runtime.addShutdownHook and Thread.setDaemon; avoid segfaults due to an application calling e.g. CallStaticBooleanMethod when it really meant CallStaticVoidMethod
2009-08-19 14:27:03 -06:00
Joel Dice
c4edabdc02
implement ClassLoader.resolveClass and ensure class is linked in e.g. Class.getMethods; minor bugfixes
2009-08-18 14:26:28 -06:00
Joel Dice
6d54b6cec8
add classes which I meant to add in earlier commits
2009-08-14 08:51:10 -06:00
Joel Dice
9553d56977
add AccessibleObject.setAccessible(AccessibleObject[],boolean)
2009-08-13 09:03:44 -06:00
Joel Dice
f96fa82607
add methods to Throwable
2009-08-13 09:03:04 -06:00
Joel Dice
017116d060
add ThreadGroup(String) constructor
2009-08-13 09:02:32 -06:00
Joel Dice
0d7a2fa2bc
add methods to StringBuilder and fix logic error in getChars
2009-08-13 09:02:00 -06:00
Joel Dice
ae02212dd9
add a few methods to String; support ISO-8859-1 charset
2009-08-13 09:00:07 -06:00
Joel Dice
864a28f2ce
throw IllegalArgumentException from Enum.valueOf if name does not match any value
2009-08-13 08:57:58 -06:00
Joel Dice
fb37f48237
add various methods to Class and fix getComponentType for primitive arrays
2009-08-13 08:57:06 -06:00
Joel Dice
58e3c3013a
pass start and end indexes to String.getChars in Writer.write, not start and length
2009-08-13 08:55:35 -06:00
Joel Dice
0544ab381f
fix Class.isArray for case this == Class.class
2009-08-12 19:40:52 -06:00
Joel Dice
dd82b58dad
add String.lastIndexOf(String,int); defer to Pattern.split in String.split
2009-08-12 19:39:29 -06:00
Joel Dice
df1aee5981
replace slashes with dots in class name passed to Class.forName in Method.getParameterTypes
2009-08-11 09:25:05 -06:00
Joel Dice
d868815737
put thread into runnable state in Thread.start
2009-08-10 17:36:11 -06:00
Joel Dice
001000364d
add classloader parameter to functions which may directly or indirectly load classes; include methods inherited from interfaces (but not explicitly declared) in method tables and virtual tables of abstract classes
2009-08-10 07:56:16 -06:00
Joel Dice
58c3a37277
specify classloader when calling Class.forCanonicalName in Field and Method; tolerate null argument array in Method.invoke
2009-08-10 07:48:44 -06:00
Joel Dice
5c72746d2c
inherit thread group from current thread
2009-08-10 07:46:59 -06:00
Joel Dice
97ea23e3bb
optionally specify classloader to Class.forCanonicalName
2009-08-10 07:46:05 -06:00
Joel Dice
1a2deff97d
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-08-09 14:43:53 -06:00
Joel Dice
6d27274aea
update Class.PrimitiveFlag value to reflect change in machine.h; make Class.getName work for primitive types
2009-08-05 15:57:51 +00:00
Joel Dice
2de750768b
add java.lang.reflect.Modifier.isInterface
2009-08-05 14:14:45 +00:00
Joel Dice
7050448ec5
implement Class.{get|set}Signers
2009-08-04 18:31:14 -06:00
Joel Dice
e18ab49f4d
always pass null instance to native version of Method.invoke when invoking static methods
2009-08-04 18:30:16 -06:00
Joel Dice
626c514373
add listFiles and isFile methods to java.io.File
2009-08-04 17:59:07 -06:00
Joel Dice
590238bbfc
add indexOf and lastIndexOf methods to java.util.List
2009-08-04 17:58:31 -06:00
Joel Dice
0a7f94abfe
add java.util.Collection.toArray()
2009-08-04 17:36:25 -06:00
Joel Dice
7911989055
add AbstractList and AbstractSequentialList classes to java.util and listIterator methods to java.util.List
2009-08-04 17:24:29 -06:00
Joel Dice
93597a4d1d
implement ArrayList.listIterator()
2009-08-04 11:34:46 -06:00
Joel Dice
08dd7d0a5a
Merge branch 'gnu'
2009-08-03 09:01:16 -06:00
Joel Dice
80d4385cb8
implement blocking mode for SocketChannel and ServerSocketChannel
2009-08-03 08:58:56 -06:00
Joel Dice
54ceb80116
implement stub versions of java.security classes
2009-08-03 08:56:19 -06:00
Joel Dice
8c18f27e89
avoid NPE in String.equalsIgnoreCase
2009-07-28 17:00:11 -06:00
Joel Dice
30be3945ae
update copyright year in TreeMap.java
2009-07-27 07:55:28 -06:00
Joel Dice
27d863790c
Merge branch 'win64' into gnu
...
Conflicts:
makefile
src/compile-x86.S
src/x86.S
src/x86.cpp
2009-07-25 20:48:36 -06:00
Joel Dice
f869e5be21
Merge branch 'master' into gnu
...
Conflicts:
classpath/java/util/TreeSet.java
2009-07-25 18:38:57 -06:00
Joel Dice
d3a249a3fa
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-07-25 18:36:27 -06:00
Joel Dice
d327f6ba5a
implement java.util.TreeMap
2009-07-25 15:41:43 -06:00
Joel Dice
29858a5299
implement Selector.selectNow() and select()
2009-07-23 13:08:41 -06:00
Joel Dice
e72ff8db0b
Merge branch 'master' into gnu
...
Conflicts:
src/compile.cpp
2009-07-11 12:11:59 -06:00
Joel Dice
ab5ba9c954
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-07-10 09:57:29 -06:00
Eric Scharff
c3c06e4e0e
Fix mac build
...
Remove a compiler error by removing an unnecessary method
2009-06-19 13:43:57 -06:00
Joel Dice
70eedcdf97
replace slashes with dots in value returned by StackTraceElement.getClassName to make Classpath's java.util.logging.Logger happy
2009-06-06 21:08:36 -06:00
Joel Dice
20ea82ec2e
various tweaks for Classpath compatibility
2009-06-06 20:32:44 -06:00
Joel Dice
4fca1d64ba
fix thinko in String.regionMatches; ignore case when checking charsetName in String ctor
2009-06-06 20:30:58 -06:00
Joel Dice
a201d28e5c
handle null loader parameter properly in Class.forName
2009-06-06 20:29:15 -06:00
Josh warner
bcad89dc17
handle null parameter types in various class methods
2009-06-05 14:28:55 -06:00
Joel Dice
16537a32bc
fix logic in Thread.join(long) (second try)
2009-06-04 18:08:51 -06:00
Joel Dice
a064c744f4
fix logic in Thread.join(long)
2009-06-04 18:07:00 -06:00
Joel Dice
44e3ee5bd7
fix misspelling in comment
2009-06-04 18:03:09 -06:00
Joel Dice
d0f11cd2e5
move non-standard classes to avian package
2009-06-04 17:59:34 -06:00
Joel Dice
0857f53651
more progress on GNU Classpath compatibility
2009-06-04 17:21:42 -06:00
Joel Dice
98be5c509e
more progress towards GNU Classpath compatibility
2009-06-03 16:17:55 -06:00
Joel Dice
0615b8a09f
add classes and methods needed for GNU Classpath compatibility
...
Most of these methods are stubs which throw
UnsupportedOperationExceptions for now.
2009-06-02 17:14:38 -06:00
Joel Dice
9d6a3021ca
make Hashtable.toString synchronized
2009-05-31 14:16:08 -06:00
Joel Dice
31d9700c9b
move SystemClassLoader and Runtime.dumpHeap to avian package
2009-05-25 21:36:29 -06:00
Joel Dice
66c4867f18
more work on continuation support
2009-05-05 18:29:05 -06:00
Joel Dice
abc9da9b31
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-04-27 14:19:53 +00:00
Joel Dice
605ddffa31
avoid unecessary array copy in Long.toString
2009-04-26 12:46:55 -06:00
Joel Dice
4091e871a7
tolerate null caller in Logger.log
2009-04-25 20:14:29 -06:00
Eric Scharff
ed4c24c7f6
Removed temp files
2009-04-22 16:27:58 -06:00
mweaver
6b89ecd0ee
Like a noob, I missed some things... broke the compilation.
2009-04-22 15:24:26 -06:00
mweaver
f68f1e5888
should be fixed
2009-04-22 11:43:22 -06:00
mweaver
d6fb1e0c7c
Adding changes to fix Map/Collections
...
Merge branch 'master' of ssh://oss.readytalk.com/var/local/git/avian
Conflicts:
classpath/java/util/HashMap.java
classpath/java/util/Map.java
2009-04-22 11:34:32 -06:00
mweaver
34da6da3db
brought in line with Sun's SDK, should no longer break on values call
2009-04-22 10:04:38 -06:00
mweaver
c5dd57f74c
Brought more in line with Sun's SDK
2009-04-22 10:04:23 -06:00
mweaver
9023899c81
Brought interface in line with Sun
2009-04-22 10:03:53 -06:00
Eric Scharff
af784f4cbc
"Fix" Map.containsKey() and Map.containsValue()
...
java.util.Map.containsKey() and java.util.Map.containsValue() take
Object parameters, not K and V. Changed to improve classpath
compatibility.
2009-04-17 08:57:49 -06:00
Joel Dice
d1018bf078
update copyright years
2009-03-15 12:02:36 -06:00
J. Treadwell
8150d4a3b6
added toHexString() to java.lang.Long
2009-03-09 14:54:31 -06:00
Joel Dice
1d04fed6de
implement Collections.shuffle
2009-03-04 08:18:18 -07:00
Joel Dice
8659c709b7
avoid passing null arguments to native methods in SocketChannel
2009-03-02 15:22:17 -07:00
Eric Scharff
bf8c856a3c
Partially handle cascading logging levels.
...
We now maintain a virtual root loger, on which you can set the log
level. When any logger logs, it finds the effective log level by going
up the parent chain, and finding a meaningful log lvel. Thus, one can
now do Logger.getLogger("").setLevel(Level.FINER) and set the log level
for all other loggers (that do not specify their own default) to the
level specified.
2009-02-19 15:53:10 -07:00
Joel Dice
8bcc78b5b7
add InputStreamReader(InputStream,String)
2009-02-16 18:22:19 -07:00
Zsombor
8411cfbe8f
add new constructor to the String :
...
public String(byte bytes[], int offset, int length, String
charsetName)
throws UnsupportedEncodingException;
2009-02-16 18:15:41 -07:00
Zsombor
8c68bc0e1b
add logp methods to Logger
2009-02-16 18:11:05 -07:00
Zsombor
7c1a5fe57d
add level handling to Logger
2009-02-16 18:10:31 -07:00
Zsombor
d682ccaceb
add synchronized map
2009-02-16 17:52:27 -07:00
Zsombor
9ba62e25b9
fix and-ing, or-ing, etc BitSet with variant size
2009-02-16 17:51:37 -07:00
Ryan Forbes
46e19f9c80
Fixed bug where seconds were always zero because % was misspelled as /
2009-02-03 15:30:03 -07:00
Ryan Forbes
277278b331
Fixed off by one in list method.
2009-02-03 15:28:39 -07:00
JET
e86acf4543
added separator to String and added IOException to vm.pro
2009-01-02 13:25:05 -07:00
Joel Dice
25ade1484a
lots of bugfixes and refactoring
2008-12-01 19:38:00 -07:00
Joel Dice
035aa0ecd4
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian into bootimage
...
Conflicts:
src/compile.cpp
src/machine.h
src/util.h
2008-11-23 17:02:34 -07:00
Joel Dice
20cf42c5e4
more work on boot image creation
2008-11-23 16:58:01 -07:00
Joel Dice
fccf906349
add minimal java.net.Socket implementation to support Socket.setTcpNoDelay
2008-11-22 15:32:53 -07:00
J. Treadwell
3001c2067c
changed String(byte[] bytes, String charsetName) to support only UTF-8
2008-11-12 10:19:21 -07:00
J. Treadwell
1f7f9319c3
Added UTF-8 support (still absent with string literals)!
2008-11-11 17:43:11 -07:00
Joel Dice
63c78d9d84
implement ResourceBundle.getKeys
2008-11-03 15:18:44 -07:00
Joel Dice
6a5116e7a7
implement primitive heap dump facility for memory profiling, accessible via Runtime.dumpHeap
...
The proper way to do this is to implement a subset of JVMTI, but this
will do the job for now.
2008-10-21 17:38:20 -06:00
Joel Dice
96d7bf571d
implement a few methods to make SWT 3.4 happy
2008-10-10 11:49:28 -06:00
dain
7dbd4903f0
set default locale to en, us
2008-10-09 18:30:24 -06:00
dain
4aa731bacf
implemented getDeclaredConstructor method
2008-10-09 18:29:53 -06:00
dain
b19ce6378a
Add Integer valueOf(String) method
2008-10-08 13:51:19 -06:00
Joel Dice
aeafb52bcb
add ZipFile(File) constructor and ZipFile.close
2008-10-06 17:30:48 -06:00
Joel Dice
ae75be5683
add copyright headers
2008-10-03 14:57:40 -06:00
Joel Dice
2684b7c024
remove debug logging
2008-10-03 14:26:23 -06:00
Joel Dice
4c307ae8c6
implement minimal, read-only versions of RandomAccessFile and ZipFile
2008-10-03 14:15:47 -06:00
Joel Dice
025cf59bb6
Vector.setElementAt should return void
2008-09-26 18:16:35 -06:00
Joel Dice
066714933c
implement Random.nextBytes and Random.nextLong
2008-09-26 15:30:08 -06:00
Joel Dice
a16a00a7fb
implement ByteArrayOutputStream.reset
2008-09-26 15:29:38 -06:00
Joel Dice
93a96f3833
fix backwards logic in Stack.empty
2008-09-26 08:10:16 -06:00
J. Treadwell
8e79618392
added StringBuffer/Builder methods
2008-09-22 09:31:10 -06:00
Joel Dice
27efbcf5e1
fix single-byte BufferedInputStream.read to generate unsigned result
2008-09-02 14:54:34 -06:00
Joel Dice
e0e827596e
make Long.parseLong more efficient
2008-08-29 11:37:53 -06:00
Joel Dice
9017b5996a
implement HashSet.toString
2008-08-22 14:02:38 -06:00
Joel Dice
c8cc7d931b
maintain a table to look up methods called via JNI
...
This simplifies the JNI implementation for looking up methods. It also
fixes a bug where an applications calls GetStaticMethodID with class A
and then calls CallStatic<Type>Method with class B which extends A. The
old code would look in the wrong method table and thus call the wrong
method.
2008-08-15 12:32:33 -06:00
Matt Weaver
56e708aab0
Added the final method "name()", not being used presently, but useful if toString() is overridden.
2008-08-12 16:21:39 -06:00
Joel Dice
86dfaf9ff0
implement ByteBuffer.getInt(int)
2008-08-12 11:09:17 -06:00
Eric Scharff
e45b1f68c7
prepend copyright notice and license to source files
2008-08-05 14:15:10 -06:00
Eric Scharff
7e0941f6fb
Added java.lang.AssertionError
2008-08-05 14:06:37 -06:00
Eric Scharff
f601897d9e
Accept uppercase letters as digits, per the spec for Character.digit
2008-08-05 14:05:36 -06:00
Matt Weaver
0bd29069f4
Added override, soley for documentation purposes (mark methods overriding parent)
2008-07-22 11:33:55 -06:00
Joel Dice
a677a2da17
fix class cast exception in TreeSet ctor
2008-07-17 15:46:54 -06:00
Matt Weaver
244393430d
Merge branch 'master' of git://oss.readytalk.com/avian
2008-07-16 11:26:29 -06:00
Eric Scharff
0df3beef06
Merge branch 'master' of ssh://oss.readytalk.com/var/local/git/avian
2008-07-15 09:38:02 -06:00
Eric Scharff
13a535d1c6
Added a getContentLength() method to URLConnection
...
This is particularly important if you want to get the number of bytes of a
resource loaded by the class loader:
getClass().getResource("myFile").openConnection().getContentLength()
2008-07-15 09:36:52 -06:00
Joel Dice
0ae338e74a
fix various bugs in BufferedReader.readLine
2008-07-15 08:59:00 -06:00
Matt Weaver
f81e9f7f5d
Added for compliance. This makes IDEs happy, as certain types of "warning" casts are somewhat unavoidable. As it is small and potentially useful, I threw it in.
2008-07-14 11:05:33 -06:00
Matt Weaver
2d1ec11edc
Added no arg constructor to support Comparable types.
2008-07-14 08:45:51 -06:00
Eric Scharff
7534459fec
Stylistic tweaks
2008-07-13 21:54:07 -06:00
Zsombor
17a42c5611
add a few String methods
2008-07-13 20:34:13 -06:00
Zsombor
4fed24270b
add skeleton java.util.regex classes
2008-07-13 20:33:51 -06:00
Zsombor
0ffba474fa
implement additional Unicode support in Character
2008-07-13 20:33:26 -06:00
Zsombor
99fa6d1495
add StringBuilder.indexOf
2008-07-13 18:59:30 -06:00
Joel Dice
d1b6de8131
add license headers
2008-07-13 18:56:18 -06:00
Zsombor
2fe571c461
add StringBuffer.append(char[])
2008-07-13 18:55:05 -06:00
Zsombor
074f1a3853
trivial AccessController implementation
2008-07-13 18:46:27 -06:00
Joel Dice
4ecce8286f
fix recursive invocation of Thread constructor
2008-07-13 18:34:59 -06:00
Zsombor
d28a860138
add Arrays.fill
2008-07-13 18:28:27 -06:00
Zsombor
6409747f17
add Properties.getProperty(String,String)
2008-07-13 18:27:42 -06:00
Zsombor
e507a26081
add System.getProperties
2008-07-13 18:27:05 -06:00
Joel Dice
975c2c12a8
add license header to BitSet.java
2008-07-13 18:25:26 -06:00
Zsombor
dcccddeb55
add FilenameFilter interface
2008-07-13 18:24:23 -06:00
Zsombor
0e539615e7
add Thread.name field
2008-07-13 18:21:04 -06:00
Zsombor
e1d712ef71
java.util.BitSet implementation
2008-07-13 18:16:55 -06:00
Zsombor
2e0ca31148
implement File.list and File.mkdirs
2008-07-13 18:14:37 -06:00
Joel Dice
a016eeaba0
fix Long.toString for Long.MIN_VALUE case
2008-07-13 17:54:44 -06:00
Eric Scharff
bba4f75c2f
Tweaked code indentation and formatting to match existing style
2008-07-03 10:49:08 -06:00
Joel Dice
befdfa4e9e
add copyright header to CharSequence.java
2008-07-03 09:36:55 -06:00
Zsombor
e3fd0d9c7d
add a few classes and methods to the classpath
...
Add java.lang.CharSequence, java.util.AbstractSet,
java.util.AbstractCollection, Collections.unmodifiableSet,
System.getProperty(String,String), etc.
2008-07-03 09:16:32 -06:00
Joel Dice
af794d9be0
implement Date.toString, which just defers to ctime for now (part 2)
2008-06-16 11:45:23 -06:00
Joel Dice
14e2513590
fix some API compatibility issues in the class library
2008-05-07 17:44:43 -06:00
Joel Dice
24d0ea0d9b
use StackTraceElement.toString in Throwable.printStackTrace
2008-04-21 16:31:50 -06:00
Joel Dice
819588546e
implement a few StackTraceElement methods
2008-04-21 16:30:41 -06:00
Joel Dice
d9ec8e20bf
implement Thread.getStackTrace, activeCount, and enumerate
2008-04-11 16:48:39 -06:00
Joel Dice
e9eacd900d
add Class.isInterface
2008-04-01 16:48:58 -06:00
Joel Dice
c9ef443944
add Modifier.isNative and isAbstract
2008-04-01 16:42:50 -06:00
Joel Dice
91494d9081
add constructor to ByteBuffer
2008-03-28 18:08:08 -06:00
Joel Dice
6cddd10e0a
various code cleanups, bug fixes, and compatibility fixes in NIO code
2008-03-25 16:17:29 -06:00
Joel Dice
3a208edbbc
update NIO code to be more compatible with Java
2008-03-25 11:18:17 -06:00
Joel Dice
1b098c9267
implement ArithmeticException
2008-03-21 13:48:42 -06:00
Joel Dice
7dd9b96717
add additional methods and fields to class library
2008-03-20 18:40:18 -06:00
Joel Dice
8e1ec5794f
implement java.util.Random and java.lang.Math.random in Java
2008-03-20 18:39:25 -06:00
Joel Dice
7343eea558
Merge branch 'master' of oss:/var/local/git/avian
2008-03-05 14:22:04 -07:00
Joel Dice
3e7acd7861
fix backwards logic in Collections.toArray
2008-03-05 14:21:53 -07:00
Eric Scharff
89bc3bc4e7
Fix bug in StringBuilder.insert()
2008-03-05 12:10:59 -07:00
Joel Dice
51a731847a
java.util code cleanup
2008-02-28 15:18:46 -07:00
Joel Dice
35d4d19c07
Merge branch 'master' of oss:/var/local/git/avian
2008-02-28 11:37:14 -07:00
Joel Dice
9d76d6a04e
implement a few more classpath methods, including Collection.addAll and Collection.toArray
2008-02-28 11:37:10 -07:00
Eric Scharff
e23f2bafd5
Implemented trivial impolementation of java.util.Random.nextDouble()
2008-02-28 11:02:58 -07:00
Eric Scharff
0d5b7bd126
Support for floating point conversions and tests
...
Floats and doubles can now be read from strings, using the C standard library
functions for this purpose (strtof and strtod). The code also relies on
standard library functions to implement isNaN() and isInfinite()
2008-02-28 08:35:16 -07:00
Eric Scharff
73e7bfc1dc
Added constructor for java.util.HashMap
2008-02-28 08:33:52 -07:00
Eric Scharff
eaa8d5c64b
Trivial implementation of java.util.Random.nextInt(int n)
2008-02-26 09:37:46 -07:00
Joel Dice
2edaa82801
prepend copyright notice and license to all source files; add license.txt and readme.txt
2008-02-19 11:06:52 -07:00
Dain
8a0ffe186f
Adds appending of doubles to a StringBuffer
2008-01-30 16:26:30 -07:00
Joel Dice
7a262d0578
add java.lang.OutOfMemoryError
2008-01-29 08:18:23 -07:00
Joel Dice
707359d555
remove redundant synchronization from Collections.SynchronizedCollection
2008-01-28 08:10:23 -07:00
Dain
6926ca6778
Added parsing of new line characters in properties files.
2008-01-23 16:39:45 -07:00
Joel Dice
bb701f309c
implement StringBuffer.append(boolean)
2008-01-18 16:16:24 -07:00
Joel Dice
86704591e7
Throwable.initCause should return 'this'
2008-01-03 10:08:33 -07:00
Joel Dice
be5600d79d
fix Integer.toHexString to treat its argument as unsigned
2007-12-26 12:17:52 -07:00
Joel Dice
f116225933
fix 64-bit arithmetic support on x86-32
2007-12-22 17:00:35 -07:00
Joel Dice
a867e4d587
snapshot
2007-12-21 17:26:55 -07:00
Eric Scharff
6954c9c377
Fixes for PushbackReader (which only can push back one char) and StringReader.
2007-12-18 12:19:52 -07:00
Eric Scharff
8b2577b77c
Add method to create one hashtable from a map, useful in converting a
...
HashMap into a Hashtable.
2007-12-18 11:23:59 -07:00
Eric Scharff
7224c98766
Trivial implementation of java.util.Random
2007-12-17 15:43:51 -07:00
Eric Scharff
5af58548b7
Removed unused variable in StringBuilder.
2007-12-14 16:16:40 -07:00
Joel Dice
216224dcc4
fix length tracking bugs in StringBuilder
2007-12-13 09:19:58 -07:00
Eric Scharff
ec653fbc1e
Use the default line separator when logging
2007-12-11 10:26:28 -07:00
Joel Dice
fc78e122c0
Merge branch 'master' of dice:git/vm
2007-12-03 16:36:57 -07:00
Joel Dice
9f5c2f4122
implement Arrays.sort
2007-12-03 16:32:54 -07:00
James Sanders
3f8a370ba8
Implemented Runtime.exec, Process.waitFor and Process.exitValue for non-windows
2007-11-30 16:39:51 -07:00
James Sanders
266c256116
Added IllegalThreadStateException, which is used by java.lang.Process
2007-11-30 16:11:06 -07:00
James Sanders
8f652ce12d
Implemented native Process.exitValue and Process.waitFor on windows
2007-11-29 18:01:07 -07:00
James Sanders
b6ad93856d
Merge branch 'master' of dice.readytalk.com:/home/dicej/git/vm
2007-11-28 17:52:23 -07:00
James Sanders
bf102aa1a8
implemented Runtime.exec(String) and Runtime.exec(String[])
2007-11-28 17:52:08 -07:00
Eric Scharff
51c198f0f0
Implemented java.lang.Math.random() properly (seeding the random number
...
on first use, and then using the system random number generator)
2007-11-28 17:06:04 -07:00
Joel Dice
d24b633665
fix return value of ByteArrayOutputStream.size()
2007-11-27 16:59:49 -07:00
Joel Dice
74235ea33c
add ByteArrayOutputStream.size()
2007-11-27 10:30:55 -07:00
Joel Dice
6fe0c4636f
various bugfixes and tweaks in reflection
2007-11-20 13:40:07 -07:00
Joel Dice
80f23a5040
implement Class.getEnumConstants
2007-11-17 11:39:29 -07:00
Joel Dice
4f047ded8c
make ArrayList.set() do bounds checking
2007-11-15 11:53:33 -07:00
Joel Dice
a6a1f8ba98
make ByteBuffer implement Comparable
2007-11-15 11:53:01 -07:00
Joel Dice
69f1024887
add missing classpath methods
2007-11-14 09:32:36 -07:00
Joel Dice
d1048f9bcb
implement ByteBuffer.get(byte[])
2007-11-09 14:32:33 -07:00
Joel Dice
7b8fb7233e
add PersistentSet.toString(), fix a bug when removing the last element, and add a couple sanity checks
2007-11-09 08:08:35 -07:00
Joel Dice
fef3cddb9e
fix build breakage due to missing isEmpty() methods
2007-11-07 09:48:09 -07:00
Joel Dice
4611c89dbe
add a few classpath methods
2007-11-06 17:41:53 -07:00
Eric Scharff
76d876c039
Removed custom logging code, which is factored correctly elsewhere.
2007-11-06 11:20:12 -07:00
Joel Dice
94e9bd0fd2
clean up bootstrap type generation to eliminate redundancy (broken)
2007-11-04 14:15:28 -07:00
Joel Dice
7dfbd87a40
bugfixes
2007-11-02 15:42:19 -06:00
Joel Dice
e820b6a8a4
sketch of singleton support
2007-11-02 15:08:14 -06:00
Joel Dice
b71d5104ba
snapshot
2007-11-01 13:24:09 -06:00
Joel Dice
7a4cca45c2
fix subtle length vs. limit bug in ByteArrayInputStream
2007-10-31 10:11:14 -06:00
Eric Scharff
1d04186a0c
Fixed bug in ByteBuffer.getLong()
2007-10-31 09:27:26 -06:00
Eric Scharff
2fd2df53fd
Fixed thinko in ByteArrayInputStream
2007-10-30 16:52:24 -06:00
Eric Scharff
b85c643251
Minor optimization for ByteArrayInputStream
2007-10-30 15:37:46 -06:00
Eric Scharff
907ce57975
Order of arraycopy backwards
2007-10-30 15:10:32 -06:00
Eric Scharff
df79f410f1
Optimize bulk reads from ByteArrayInputStream
2007-10-30 15:08:49 -06:00
Eric Scharff
958d39aa03
Add debug information for ByteBuffer
2007-10-30 14:55:00 -06:00
Joel Dice
67faa23d83
Merge branch 'master' of dice:git/vm
2007-10-29 15:42:48 -06:00
Joel Dice
956106f518
implement StringBuilder.delete() more efficiently
2007-10-29 15:40:05 -06:00
Eric Scharff
c97b16b8bc
implement a few classpath methods required by SWT for Mac OS X
2007-10-29 15:23:13 -06:00
Eric Scharff
bcd2c75f41
Implements String.delete(char oldChar, String newChar), StringBuffer and
...
StringBuilder delete(int startIndex, int endIndex), and
replace (int startIndex, int endIndex, String replacementString)
2007-10-29 15:07:36 -06:00
Joel Dice
78ee14fff5
Merge branch 'master' of dice:git/vm
2007-10-29 14:57:40 -06:00
Joel Dice
75d4a4ff96
implement a few classpath methods required by SWT for Win32
2007-10-29 14:57:33 -06:00
Eric Scharff
8e95590dea
Added a temporary hack for logging.
...
if the System property rt.log.dir is set, standard logging messages are
written both to standard out and to the file log.txt inside the directory
provided. This allows us to get debugging information quickly.
2007-10-29 12:04:26 -06:00
Joel Dice
09cedfd7cb
make Boolean, Byte, Short, etc. implement Comparable
2007-10-28 18:51:08 -06:00
Joel Dice
4b92017ea9
fix several win32 bugs in SocketSelector
2007-10-26 18:04:55 -06:00
Joel Dice
e892f1bff5
refactor System.getProperty() to reduce coupling with native code
2007-10-26 12:13:21 -06:00
Eric Scharff
25275933ce
Print line numbers correctly for native and unknown source
2007-10-25 17:57:56 -06:00
Eric Scharff
a81b77a37e
fixes i2f i2d implementation. Fixes image drawing bugs on Mac OS X.
...
Also fixes a crash caused by implementing StringBuffer.toString(float)
2007-10-25 14:26:51 -06:00
Joel Dice
b12b779c7f
add support for passing properties to the VM via JNI; use vm.builtins property to specify builtin libraries
2007-10-25 12:33:43 -06:00
Joel Dice
5bfd90cfed
more system-specific tweaks for windows port
2007-10-24 10:24:02 -06:00
Eric Scharff
52bc20ace2
Optimized calendar implementation. Year can now be computed with arithmetic,
...
not a loop to find the current year.
2007-10-22 15:53:46 -06:00
Eric Scharff
7eb08c5fc4
If a Calendar changes values, update the (cached) fields.
2007-10-22 12:23:56 -06:00
Eric Scharff
8902cf2a73
Added a working implementation of calendar that fills in the important
...
fields (year, month, day, hour, minute, second) for the Gregorian calendar.
Specifically, it fills in YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, MINUTE,
and SECOND.
2007-10-22 12:03:15 -06:00
Joel Dice
f84b865f03
implement TreeSet.toString()
2007-10-16 19:17:37 -06:00
Eric Scharff
6be84b4653
Adds some missing methods to TreeSet, which really ought to be an instance of Collection
2007-10-16 12:14:03 -06:00
Eric Scharff
91ffeb6aed
Signature of removeElementAt() was not correct, fixes exception in SWT
2007-10-15 14:06:06 -06:00
Joel Dice
64313aa243
fix return value of HashMap.put()
2007-10-13 15:46:20 -06:00
Eric Scharff
79ad3bdb76
Exception thrown by ByteBuffer
2007-10-11 17:04:45 -06:00
Eric Scharff
15d1fe8b75
Fix hashmap insertion bug (entire bucket was getting erased in some put() operations)
2007-10-11 17:03:51 -06:00
Eric Scharff
32946417b7
Fixed subtle bug in getLong()
2007-10-11 16:42:33 -06:00
Eric Scharff
9d3027540b
Add meaningful toString() methods
2007-10-11 16:41:07 -06:00