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
Joshua Warner
cb11e21f95
force unicode support in java-io.cpp when including windows.h
2013-06-04 11:52:18 -06:00
Joshua Warner
8df12d5003
Use native windows APIs for File.exists()
...
On windows, there are obscure cases where _wstat can return non-zero for a path that
actually exists, but the native GetFileAttributes returns valid attributes. This is
the case in particular when the user or process doesn't have permissions to access
the directory (for instance, anything outside of %temp%\Low, when running as a
low-integrity process).
This was causing problems with .mkdirs() - which first tries to check if the parent
exists, and creates it if it doesn't. In our particular case, the exists() was
returning false for the parent, even though it exists, and .mkdir() works fine,
mkdirs() fails for the same directory.
2013-05-31 11:17:21 -06:00
Joel Dice
6b3a352b38
Merge remote-tracking branch 'origin/master'
2013-04-30 23:08:18 -06:00
Joel Dice
529c7a17fb
add support for the RuntimeVisibleParameterAnnotations attribute
2013-04-30 22:55:59 -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
81d7786716
fix Class.getModifiers for inner classes and implement JVM_GetDeclaringClass and JVM_GetEnclosingMethodInfo properly
...
This fixes a couple of tests in the Scala test suite
(run/reflection-modulemirror-toplevel-badpath.scala and
run/reflection-constructormirror-nested-good.scala).
2013-04-17 15:12:58 -06:00
Joel Dice
d873f096a1
set SO_NOSIGPIPE socket option when available
...
This ensures we avoid SIGPIPE on socket disconnect on Darwin.
2013-03-18 11:43:00 -06:00
Joel Dice
ff19ab6c13
add avian.trace.port property
...
Setting this property (e.g. -Davian.trace.port=5555) will cause the VM
to start an extra daemon thread which listens on the specified TCP
port for incoming connections and dumps stack traces for all running
threads to that socket. You can retrieve that dump using e.g. netcat:
nc localhost 5555
2013-03-08 14:47:27 -07:00
Joel Dice
b3978c0a0a
fix msvc build
2013-03-04 11:09:59 -07:00
Joel Dice
5e2d00010b
move headers from src to src/avian
...
This is necessary to avoid name conflicts on various platforms. For
example, iOS has its own util.h, and Windows has a process.h. By
including our version as e.g. "avian/util.h", we avoid confusion with
the system version.
2013-02-27 13:33:29 -07:00
Joel Dice
9060a31348
Merge remote-tracking branch 'github/master' into dicej
...
Conflicts:
src/classpath-openjdk.cpp
2013-02-22 14:43:20 -07: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
Joel Dice
d414fd4c7b
more progress on Android class library port
...
Hello.java works. Yay.
2013-02-20 10:22:40 -07:00
Joshua Warner
b9e281612b
move runtime-array to include
2013-02-19 22:56:05 -07:00
Joshua Warner
3589d5c205
Merge branch 'master' of git://github.com/ReadyTalk/avian
...
Conflicts:
src/codegen/arm/assembler.cpp
src/common.h
src/machine.cpp
2013-02-12 17:37:19 -07:00
Joshua Warner
964d054117
move RUNTIME_ARRAY into it's own header
2013-02-10 18:07:11 -07:00
Joel Dice
b38eecbefa
specify O_BINARY when opening files on Windows
2013-02-07 11:35:48 -07:00
Alexey Pelykh
f2d2c9af29
Fix for windows ::open
2013-02-07 11:43:39 +02:00
Alexey Pelykh
023af5102e
Remove empty lines
...
Conflicts:
classpath/java-lang.cpp
2013-02-07 11:39:24 +02:00
Alexey Pelykh
0ff703d1c0
Culture fixes ; Path extensions
2013-02-07 11:39:22 +02:00
Alexey Pelykh
2362235b4c
getErrorStr() for Windows platforms
2013-02-07 11:39:21 +02:00
Alexey Pelykh
41c7269896
Support new WinRT interop
2013-02-07 11:39:20 +02:00
Alexey Pelykh
34179f3332
Added comments regarding java.io.File.toAbsolute() and WinRT/WP8
2013-02-07 11:39:19 +02:00
Alexey Pelykh
c33c148b6b
Add notifications about improvements possible
2013-02-07 11:39:18 +02:00
Alexey Pelykh
cb46cb0ba8
WP8/WinRT : Proper absolute path
...
WP8/WinRT : Last modified time
2013-02-07 11:39:17 +02:00
Alexey Pelykh
ebf6277660
java.io.RandomAccessFile for WinPhone8 / WinRT
2013-02-07 11:39:16 +02:00
Alexey Pelykh
3f22c6d8e3
Remove debug code
2013-02-07 11:39:15 +02:00
Alexey Pelykh
a03fda0c1d
Instead of throwing exception, just return initial file name
2013-02-07 11:39:15 +02:00
Alexey Pelykh
4840f4a019
Fixes to WP8/WinRT support
2013-02-07 11:39:03 +02:00
Victor Shcherb
ce1f76a3e9
Add last modified to file
2013-02-07 11:39:01 +02:00
Alexey Pelykh
a78959a480
Replaced TODO comments with messages ; More correct AVIAN_AOT_ONLY usage
2013-02-07 11:38:59 +02:00
Alexey Pelykh
0cbaad6495
Windows Phone 8 / Windows RT initial support
...
Conflicts:
makefile
2013-02-07 11:38:57 +02:00
Victor Shcherb
ba80761128
Add android redirect to logcat
2013-02-07 11:38:55 +02:00
Victor Shcherb
4cd8ab5910
Add android platform
2013-02-07 11:38:52 +02:00
Victor Shcherb
eea079ea70
Fix RAF
2013-02-07 11:38:51 +02:00
Alexey Pelykh
57f4463c4c
RandomAccessFile
2013-02-07 11:38:50 +02:00
Victor Shcherb
7699c12597
Add java lang math methods
2013-02-07 11:38:49 +02:00
Alexey Pelykh
13848cb520
java.lang.Math.log() and java.lang.Math.tan()
2013-02-07 11:38:48 +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
3e0ab35ba1
fix PersistentSet.remove side-effect bug
...
The whole point of PersistentSet is to provide non-destructive write
operations, which means the add and remove methods should have no
effect on previous revisions. However, a bug in remove caused shared
tree nodes to be modified, corrupting any revisions with which they
were shared.
2012-10-13 09:39:14 -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
Damjan Jovanovic
c1aa0b46b5
add support for FreeBSD
2012-08-02 10:41:41 -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
c17710d2b0
fix int32_t*/jint* type incompatibility in java-nio.cpp
2012-07-24 16:50:24 -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
cace9d4531
use vfork instead of fork on QNX
...
On QNX, fork cannot be used in multithreaded programs, but vfork can,
so that's what we'll use.
http://www.qnx.com/developers/docs/6.4.1/neutrino/getting_started/s1_procs.html
2012-07-17 19:26:37 -06:00
Joel Dice
4237a19b68
add support for QNX on x86_32
...
All but one test is passing. The failure is due to the fact that QNX
doesn't (in general) support calling fork(2) from a multithreaded
process. Thus, we'll need to use spawn instead of fork/exec on QNX,
which I'll attempt in a later commit.
http://www.qnx.com/developers/docs/6.4.1/neutrino/getting_started/s1_procs.html
2012-07-17 18:21:17 -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
Joel Dice
bc1c797911
don't use INT32_MAX for "infinite" select
...
OS X's select implementation doesn't like a number that big, so now we
use 24 hours instead.
2012-07-03 11:17:51 -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
478560e269
Merge remote branch 'rtgithub/master' into mkgithubmaster
2012-06-13 15:36:21 -06:00
Mike Keesey
527526c5ea
Defer to underlying PersistentSet for size.
2012-06-13 08:41:15 -06:00
Joel Dice
879df617df
add use-clang option for building with LLVM Clang instead of GCC
...
This also fixes several errors and warnings emitted by Clang.
2012-06-01 17:43:42 -06:00
Joel Dice
b78c772ffb
fix C++11 narrowing conversion errors
2012-06-01 11:46:56 -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
Joel Dice
2fedfdea5b
fix OS X build regression
2012-04-06 16:52:24 -06:00
Joel Dice
2b4407a962
fix iOS build regression
2012-04-05 10:04:53 -06:00
JET
6323c76540
added space before ';' in empty for loop to make Apple happy
2012-04-04 13:13:06 -06:00
JET
57092ece0d
fixed Win32 getenv implementation
2012-04-03 10:38:48 -06:00
JET
2f225795fc
added RuntimePermission and System.getenv()
2012-04-02 22:15:02 -06:00
Joel Dice
382f016415
remove debug logging
2012-03-26 18:12:58 -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
9a50e69587
remove debug logging
2012-03-17 22:42:15 -06:00
Joel Dice
c4722fa843
update Unsafe.setMemory to reflect new OpenJDK 7 signature and semantics
2012-03-14 11:54:03 -06:00
Joel Dice
eb9f5c6dcc
Merge remote branch 'oss/master' into jdk7
2012-03-14 08:22:46 -06:00
Joel Dice
756f58210a
add test for sun.misc.Unsafe functionality
2012-03-13 08:28:33 -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
Joel Dice
c5ef39f2bd
implement File.getAbsoluteFile for Windows
2012-02-16 18:19:01 -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
Dain
a6753c3dc3
Request a share mode of both reading and writing for RandomAccessFile open.
...
This change allows reading and writing to happen concurrently on the
file on Windows.
2012-01-19 15:10:45 -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
bcb62af2a1
fix java-lang.cpp iOS build
2011-11-04 09:37:24 -06: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
Joel Dice
21d1a6c883
add __attribute__ ((used)) to EXPORT macro definition
...
This ensures that exported functions are not stripped when using the
-dead_strip option to the Apple linker.
2011-09-22 16:57:44 -06:00
Joel Dice
178dd7af34
Merge remote branch 'origin/master' into ios
2011-09-16 20:46:03 -06:00
Joel Dice
916c96c2b9
fix access violation introduced in last commit
2011-09-14 13:27:17 -06:00
Brian Haar
446c09dd33
Fix for File.length() integer overflow on 32-bit Windows.
...
The File.length() method was returning a signed 32-bit value
on 32-bit Windows systems. This was causing an integer overflow
on file sizes greater than 2 GB. This appears to be caused by
the way Windows handles the STAT() function. This patch checks
whether the current platform is Windows then uses the Windows API
to get the correct file size and return it as a jlong.
2011-09-14 13:18:20 -06:00
Joel Dice
6949fc3d60
Merge remote-tracking branch 'origin/master' into ios
2011-09-01 10:53:20 -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
Joel Dice
4c47f4fae8
Merge remote-tracking branch 'origin/master' into ios
2011-08-23 16:40:01 -06:00
Joel Dice
d09e5ee8eb
fix Windows build regression
2011-08-15 16:37: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
e5a8d5c824
add support for Apple iOS on ARM
...
Most tests are passing, but not all, so this still needs more work.
2011-08-10 19:21:48 -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
f00317c415
clarify javadoc in Continuations.java
2011-07-16 19:07:54 -06:00
Joel Dice
e3662f13a9
update copyright years and increment version number
2011-07-13 08:25:21 -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
Joel Dice
272789cf16
use getcwd instead of getenv("PWD") to get workding directory
...
The PWD environment variable is not always set; getcwd is more
reliable.
2011-07-11 10:44:06 -06:00
Joel Dice
506ec7838e
remove unused Classes.vmClass method
2011-07-08 11:45:23 -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
50a699a08f
Merge remote branch 'origin/B14038_Lion_appshare' into oss-master
2011-06-03 17:35:40 -06:00
Joel Dice
bcc72e8c9d
Merge remote branch 'remotes/origin/B14038_Lion_appshare' into oss-master
2011-06-03 14:39:50 -06:00
Matt Klich
c7c0a45a61
Revert "OSX Lion build changes"
...
This commit introduced conditional includes which is not the preferred
method. Will do it in the makefile instead.
This reverts commit 7148556979
.
2011-06-01 13:56:03 -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
Matt Klich
7148556979
OSX Lion build changes
2011-05-26 11:57:30 -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
00b829b8e8
fix Class.getDeclaredMethods
...
Internally, the VM augments the method tables for abstract classes
with any inherited abstract methods to make code simpler elsewhere,
but that means we can't use that table to construct the result of
Class.getDeclaredMethods since it would include methods not actually
declared in the class. This commit ensures that we preserve and use
the original, un-augmented table for that purpose.
2011-04-09 21:20:56 -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
JET
706f9d91ad
Fixed bug with *nix LANG var region parsing.
2011-04-05 15:13:29 -06:00
Joel Dice
b0ae6343ad
provide proper implementations of JVM_GetDeclaredClasses, JVM_GetDeclaringClass
2011-03-31 19:47:26 -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
9fe41b2afc
only return declared interfaces from Class.getInterfaces
...
The result of Class.getInterfaces should not include interfaces
declared to be implemented/extended by superclasses/superinterfaces,
only those declared by the class itself. This is important because it
influences how java.io.ObjectStreamClass calculates serial version
IDs.
2011-03-27 20:29:31 -06:00
Joel Dice
686cbc3637
implement JVM_ResolveClass
...
This just reuses code in avian.Classes which was formerly only used in
the Avian classpath build.
2011-03-26 23:24:48 -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
b29e692c31
Merge branch 'master' into localization
2011-03-23 10:24:44 -06:00
Joel Dice
61552b6b8a
check for and handle instances of sun.misc.Cleaner during GC
...
OpenJDK uses an alternative to Object.finalize for resource cleanup in
the form of sun.misc.Cleaner. Normally, OpenJDK's
java.lang.ref.Reference.ReferenceHandler thread handles this, calling
Cleaner.clean on any instances it finds in its "pending" queue.
However, Avian handles reference queuing internally, so it never
actually adds anything to that queue, so the VM must call
Cleaner.clean itself.
2011-03-19 15:10:52 -06:00
Joel Dice
7004c0ddf3
various fixes and additions to increase app compatiblity
...
The main changes here are:
* fixes for runtime annotation support
* proper support for runtime generic type introspection
* throw NoClassDefFoundErrors instead of ClassNotFoundExceptions
where appropriate
2011-03-17 21:42:15 -06:00
Joel Dice
7152c3fdb3
handle volatile fields properly in JNI Get/Set methods
...
This commit ensures that we use the proper memory barriers or locking
necessary to preserve volatile semantics for such fields when accessed
or updated via JNI.
2011-03-15 19:34:00 -06:00
Joel Dice
453ceb42ab
implement lazy class/field/method resolution in JIT compiler
...
Unlike the interpreter, the JIT compiler tries to resolve all the
symbols referenced by a method when compiling that method. However,
this can backfire if a symbol cannot be resolved: we end up throwing
an e.g. NoClassDefFoundError for code which may never be executed.
This is particularly troublesome for code which supports multiple
APIs, choosing one at runtime.
The solution is to defer to stub code for symbols which can't be
resolved at JIT compile time. Such a stub will try again at runtime
to resolve the needed symbol and throw an appropriate error if it
still can't be found.
2011-03-15 18:07:13 -06:00
Joel Dice
a0962d7ab2
look for __powerpc__ as well as __POWERPC__ in jni-util.h
...
The former is used on GNU/Linux.
2011-02-28 16:50:17 -07:00
JET
f6e2f4af21
Merge branch 'master' into localization
2011-02-21 17:58:50 -07:00
Joel Dice
c761ac6717
fix Subroutine test for use with OpenJDK build
2011-02-17 14:28:51 -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
220f7760b7
fix MSVC build regressions
2011-01-21 16:14:21 -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
4a9ff55060
File.length should return 0 for non-existent files
2011-01-17 09:48:34 -07:00
Joel Dice
b6978c6c68
always create file if necessary in Java_java_io_FileOutputStream_open
...
Previously, we would only create the file if it did not already exist
*and* we weren't appending. Now we do so whether appending or not.
2011-01-14 11:26:00 -07:00
Joel Dice
d12d33d716
fix memory leak in Java_java_io_File_length
2011-01-14 08:13:49 -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