jfrijters
4d2501e0af
First small steps in java.nio.file implementation. Update sun.util.calendar.ZoneInfoFile to OpenJDK 7, because it can now use our java.nio.file implementation.
2011-07-12 05:58:28 +00:00
jfrijters
8efcba73b7
Updated java.net package to OpenJDK 7.
2011-07-07 11:32:17 +00:00
jfrijters
56049ff315
Add sun.misc.PerfCounter from OpenJDK 7.
2011-07-07 10:03:36 +00:00
jfrijters
8973d97e41
Made sun.misc.Unsafe.ensureClassInitialized() into an intrinsic.
2011-07-07 07:52:59 +00:00
jfrijters
9416f404d7
Instead of bailing out immediately when encountering a non-implemented native method (while compiling the core libraries), continue and fail later.
2011-07-01 14:04:40 +00:00
jfrijters
4cc0fca0a0
Updated java.security package and a massive amount of dependencies to OpenJDK 7.
2011-07-01 14:03:40 +00:00
jfrijters
ab6ae4d0da
Bug fix. Make FileOutputStream in append mode always append.
2011-07-01 06:02:19 +00:00
jfrijters
1eb3403769
Updated java.lang.ProcessImpl to OpenJDK 7. Added support for "magic" executable name with spaces detection (on windows).
...
redirectErrorStream will throw an IOException ("not implemented") when used without redirecting stdout, but previously redirectErrorStream wasn't implemented either (although it just ignored the flag instead of throwing an exception).
2011-06-29 09:14:49 +00:00
jfrijters
1e3a90329d
Include OpenJDK 7 java.lang.AutoCloseable interface and make it shadow System.IDisposable. Removed java.io.Closeable special casing to support IDisposable (now automatic because Closeable extends AutoCloseable).
2011-06-27 15:15:32 +00:00
jfrijters
524bf7c090
Fix and enhancement. When a .NET type implements a shadowed interface, we now also publish the original interface (e.g. if the .NET type implements System.IComparable, Java code will now see java.lang.Comparable and System.IComparable). In addition, the new code makes sure that when a .NET type explicitly implements both System.IComparable and java.lang.Comparable that the Java code will not see java.lang.Comparable twice.
2011-06-27 15:13:20 +00:00
jfrijters
c742dbb2d9
Added support for declaring exceptions on shadow interface methods.
2011-06-27 13:15:17 +00:00
jfrijters
9b9f9943bf
Bug fix. When an abstract .NET type implements System.IComparable (and hence java.lang.Comparable) the resulting stub is not usable from Java because the compareTo method is missing. This fix adds the missing method.
2011-06-27 12:52:19 +00:00
jfrijters
5a77a2d712
Fixed deserialization bug. When stacktrace = null (i.e. it is unmodifiable), setStackTrace would throw a NullPointerException. Fixed that by moving the stackTrace field setting into a seperate method.
2011-06-26 11:26:13 +00:00
jfrijters
63be67bd3c
Fixed a serialization interop bug. If an object is a subclass of a class that has readResolve() method, but the subclass doesn't have a readResolve(), we should not call the base class readResolve().
2011-06-26 11:24:35 +00:00
jfrijters
1ece25e884
Updated java.lang.Throwable to OpenJDK 7.
2011-06-26 06:32:47 +00:00
jfrijters
7a1aa6db70
- Updated java.lang.ClassLoader to OpenJDK 7 (minus PerfCounter and parallel class loading support)
...
Switched to 7:
- java.util.Collections
- sun.misc.ClassFileTransformer
- sun.misc.Launcher
Added from 7:
- java.lang.SafeVargs
2011-06-19 10:49:00 +00:00
jfrijters
efc7c0ca1c
- Enable ikvmc support for class file version 51.
...
- Change build to support hybrid OpenJDK 6 & 7 build.
2011-06-19 09:33:08 +00:00
jfrijters
5d07ae3795
Updated sun.misc.VM to OpenJDK 7.
2011-06-17 11:33:05 +00:00
jfrijters
79d6f33b56
Unified Method/Constructor/Clinit remapper types to allow method patching to work more consistently.
2011-05-25 09:23:36 +00:00
jfrijters
1246761ff5
Retain reflection field ordering for ikvmc compiled code (not required by spec, but to improve compatibility with broken code).
2011-05-17 07:46:01 +00:00
jfrijters
16fe0206ae
Simplified renaming of fields with type 2 access stubs.
2011-05-17 06:49:38 +00:00
jfrijters
5281e623f5
Changed build and JNI code to use different names for the Windows x86 and x64 versions of the native dll.
2011-05-13 10:21:48 +00:00
jfrijters
0d4bd639f5
Added method prologue support to remap file.
2011-05-12 10:15:52 +00:00
jfrijters
9be6d7f1ad
Added experimental (and for the time being undocumented) support for having ikvmc pre-generate proxy classes.
2011-05-12 08:08:08 +00:00
jfrijters
4337d62994
Expose annotations on statically compiled code as java.lang.reflect.Proxy instead of the custom attribute object, to deal with broken code that assumes annotations are always implemented with Proxy.
...
Fix for #3254823 .
2011-03-29 12:57:48 +00:00
jfrijters
b69bc0efe8
Bug fix. Support loading resources from assemblies added to the boot classloader (with ikvm.runtime.Startup.addBootClassPathAssemby()).
2011-03-14 11:59:09 +00:00
jfrijters
6c64e2186b
Don't convert assembly class loader construction exceptions into critical failure, because critical failure is of dubious value and exception might be handleable by client code.
2011-02-18 12:34:59 +00:00
jfrijters
b6a86e3563
Allow @ikvm.lang.Internal methods to implement an interface method.
2011-02-17 13:14:40 +00:00
jfrijters
c42b19de9d
Interface methods must be public, so we ignore the @ikvm.lang.Internal annotation and emit a warning.
2011-02-17 12:43:18 +00:00
jfrijters
ae6aa72f2a
Undo accidental commit.
2011-02-14 06:04:14 +00:00
jfrijters
4ed819c9dd
Optimized the Type == operator.
2011-02-14 05:58:49 +00:00
jfrijters
31e1f2dbc4
Clean up TypeWrapper.IsFakeNestedType and allow it to be called on unfinished TypeWrappers.
2011-01-21 11:06:26 +00:00
jfrijters
8b27b91cc3
Added support for loading resources from assemblies loaded in the LoadFrom context.
2011-01-07 06:24:30 +00:00
jfrijters
459bd89fa9
Added ikvm.runtime.Startup.addBootClassPathAssemby() API.
2010-12-28 09:03:38 +00:00
jfrijters
1874857e15
Removed VMThread class which only existed as a container for the jniDetach method.
2010-12-28 08:42:10 +00:00
jfrijters
8ad03c95b0
Fix for NPE if type parameter type cannot be loaded.
2010-12-24 08:34:05 +00:00
jfrijters
53ab97d7ce
Add new files to project.
2010-12-10 06:32:15 +00:00
jfrijters
ce7dfdf572
Ported fdlibm/floor and fdlibm/tan (and dependencies).
2010-12-10 06:31:08 +00:00
jfrijters
9fc4e5da62
Prepare for fork/port to C#.
2010-12-10 06:28:00 +00:00
jfrijters
d438a378a9
Ported fdlibm/s_log1p.
2010-12-10 05:27:07 +00:00
jfrijters
175cf458ec
Ported fdlibm/e_hypot.
2010-12-10 05:19:00 +00:00
jfrijters
e62e2ec6b1
Prepare for fork/port to C#. This time with the right filename.
2010-12-10 05:13:46 +00:00
jfrijters
d0694cb45e
- Ported fdlibm/s_exmp1.
...
- Fixed signed/unsigned issues in fdlibm/e_pow.
- Moved constants into method for fdlibm/e_pow and fdlibm/s_scalbn.
2010-12-10 05:09:46 +00:00
jfrijters
a2faba3b8b
Prepare for fork/port to C#.
2010-12-10 04:55:34 +00:00
jfrijters
b677536290
Ported fdlibm cbrt to C# and use that for StrictMath.cbrt().
2010-12-09 14:15:25 +00:00
jfrijters
371f4f326b
Prepare for fork/port to C#.
2010-12-09 14:06:59 +00:00
jfrijters
bfe0a3a46c
- Added fdlibm files to project.
...
- Changed StrictMath.pow() to use new fdlibm version.
2010-12-09 13:53:50 +00:00
jfrijters
3f8e005758
Ported e_pow and s_scalbn to C# and added some support methods.
2010-12-09 13:51:42 +00:00
jfrijters
f6f373a4ce
Prepare for fork/port to C#.
2010-12-09 13:44:17 +00:00
jfrijters
f0f8a879d3
Ignore LoadRemappedTypes() if it is called redundantly.
2010-12-08 08:09:11 +00:00
jfrijters
cae0474899
Fixed Math bugs in cbrt, hypot, expm1 and log1p exposed by Malva MathTest.
2010-12-08 08:04:34 +00:00
jfrijters
8018c00583
Added support for encoding incorrect annotation values and reporting the exception back when the annotation is queried.
...
Removed old (GNU Classpath based) version of AnnotationAttributeBase.java.
2010-12-07 06:47:30 +00:00
jfrijters
5d1873549c
- Check current UACVirtualization setting for every write access (because it can change).
...
- Fixed warning.
- Added check for Vista and up to UACVirtualization check.
2010-12-06 08:00:22 +00:00
smallsql
5203ce0223
Make the access behavior to the system preferences more like Java. Also the behavior with UAC was adapted.
2010-12-03 15:14:20 +00:00
jfrijters
ff4236c640
There's no first-pass build of IKVM.Runtime.JNI.dll.
2010-11-25 08:52:30 +00:00
jfrijters
1fb0542545
Made getStackAccessControlContext() parameters typed.
2010-11-25 08:52:11 +00:00
jfrijters
d27c87dfe0
Made FromCallerID method signature typed.
2010-11-25 08:50:49 +00:00
jfrijters
0e80cdcc9b
Added CallerID and AccessControlContext to be able to use them in method signatures during first-pass compilation.
2010-11-25 08:50:00 +00:00
jfrijters
28325c59b8
Don't call GetIPv6Properties() if IPv6 isn't available.
2010-11-24 15:26:47 +00:00
jfrijters
434b704ec1
Don't create zero length context arrays, use null reference instead. The Java code assumes that a non-null array always contains at least one element.
2010-11-24 12:58:11 +00:00
jfrijters
d6bd5ea3a4
File.canWrite() should always return true for directories (on Windows).
2010-11-24 07:06:02 +00:00
jfrijters
d556c8d6fc
UnauthorizedAccessException caused by already existing file or directory should cause createFileExclusively() to return false instead of throwing an exception.
2010-11-24 06:41:25 +00:00
jfrijters
0ea53c4cbb
Remove implementation specific methods from top of stack trace for threads started from Java.
2010-11-24 06:38:14 +00:00
jfrijters
d2b95f4aba
The full Thread parent hierarchy should be considered when capturing the stack.
2010-11-23 09:39:49 +00:00
jfrijters
cafd10024b
AccessController.doPrivileged() stack frame was not recognized properly.
2010-11-23 08:08:16 +00:00
jfrijters
b6940c7dfb
Made Thread constructor stack capture more lazy.
2010-11-23 07:30:30 +00:00
jfrijters
55b6fe04fe
Fixed first-pass conditional compilation condition.
2010-11-23 06:21:53 +00:00
jfrijters
dae206d60b
Made assembly class loader construction lazy.
2010-11-23 05:33:42 +00:00
jfrijters
110ee14a83
Removed trace messages that don't add much value but do cause the tracer to needlessly read configuration data early in initialization.
2010-11-23 04:46:07 +00:00
jfrijters
65cd030688
Made ProtectionDomain for assembly class loader lazy.
2010-11-22 07:07:35 +00:00
jfrijters
d22a8e25af
Fixed regression introduced by x64 v4 JIT bug workaround. Only (in)equality comparison branches should match the pattern.
2010-11-20 07:35:26 +00:00
jfrijters
4ce877282d
Added workaround for https://connect.microsoft.com/VisualStudio/feedback/details/566946/x64-jit-optimization-bug
2010-11-19 08:13:57 +00:00
jfrijters
d869e817ae
File.lastModified() should return 0 for non-existing files. Fix for #3111432 . Thanks to Stephen White for the patch.
2010-11-18 11:12:20 +00:00
jfrijters
4e05d745ad
Add support for serializing .NET exceptions. We don't serialize the actual object, but a placeholder instead, to avoid having to implement full .NET serialization interop.
2010-11-18 08:19:59 +00:00
jfrijters
b5e0d64fcc
Exception cause in stack trace should use Throwable.toString() not System.Exception.ToString().
2010-11-17 13:08:21 +00:00
jfrijters
09929413b5
Fixed parsing/generating VFS directory names of assemblies with underscores in the name.
2010-11-16 13:52:49 +00:00
jfrijters
5a3a196d92
Avoid security manager check for assembly class loaders. The runtime should be priviliged to create the default assembly class loader and a custom security manager might recursively require the assembly class loader to be loaded (which is only "supported" for custom assembly class loaders).
2010-11-03 07:55:11 +00:00
jfrijters
729174360e
Added optimization to remove redundant memory barriers.
2010-10-22 11:47:15 +00:00
jfrijters
f111998725
Volatile stores require a memory barrier. Fix for #3086040 .
2010-10-21 12:20:13 +00:00
jfrijters
60fdbaf04d
Special case MethodImplAttribute to allow it to be used as an annotation.
2010-10-21 10:58:14 +00:00
jfrijters
b35c3a24c3
Disabled the new (complicated and possibly broken) optimizations unless IKVM_EXPERIMENTAL_OPTIMIZATIONS environment variable is set.
2010-10-13 06:36:48 +00:00
jfrijters
3aed0d8850
Fixed regression introduced with fault handlers. Exception handlers inside fault handlers could be ignored.
2010-10-13 05:24:33 +00:00
jfrijters
5593445918
Fixed regression in stack trace printing of .NET (not remapped) exceptions introduced in 0.44. The .NET stack trace should not be included in the message.
2010-10-11 10:02:48 +00:00
jfrijters
1b30fcb8ea
- Removed EndExceptionBlockFinally and folded the behaviour into EndExceptionBlock (runtime compiler only).
...
- Removed EndExceptionBlockNoFallThrough() and added "leave guard" branch after every EndExceptionBlock (runtime compiler only).
- Fixed remaining dependencies on exception fall through behavior of ILGenerator.
2010-10-11 05:46:28 +00:00
jfrijters
78bf6d9830
Fixed RemoveDeadCode() bug and re-enabled it.
2010-10-11 05:41:22 +00:00
jfrijters
79f3c932d5
Improved DumpMethod() a bit.
2010-10-11 05:39:27 +00:00
jfrijters
6c699c239a
Removed broken ChaseBranches() implementation.
2010-10-11 04:58:10 +00:00
jfrijters
47575b72e8
Commented out dead code elimination optimization, as it is currently broken (or exposes another bug). Also fixed a dependency on DCE.
2010-10-08 14:15:13 +00:00
jfrijters
1c2c49a993
More optimizations.
2010-10-08 12:14:43 +00:00
jfrijters
b4d6193115
More optimizations.
2010-10-08 08:06:54 +00:00
jfrijters
47f866bc9c
Added more peephole optimizations.
2010-10-07 07:12:35 +00:00
jfrijters
0cdce3aec2
During static compilation we can disable exception block "assistance", so we don't need to track finally blocks.
2010-10-07 07:09:58 +00:00
jfrijters
2f339e8b7d
Made line number emitting just-in-time to avoid duplicate entries.
2010-10-07 06:30:26 +00:00
jfrijters
afd3adf91b
Removed unused pseudo nop.
2010-10-07 06:11:18 +00:00
jfrijters
c6f3dcdc2c
Implemented ThrowException here, instead of forwarding it to ILGenerator.
2010-10-07 06:07:19 +00:00
jfrijters
fb4fcb8cc8
EmitWriteLine isn't used anymore.
2010-10-07 06:04:35 +00:00
jfrijters
88df63d615
Fix to make sure that ikvmc (and ikvmstub) can find assemblies that are part of a multi assembly (shared class loader) group (if the assembly is in the same directory as the main assembly of the group).
2010-10-06 07:39:59 +00:00
jfrijters
d44f1a2be8
Moved core assembly detection to the right place, to avoid problems when a non-main assembly of the core assembly set is explicitly referenced.
2010-10-06 04:27:38 +00:00
jfrijters
a8c6571b49
Forgot DoEmit() call for constructors defined in xml mapping file.
2010-10-05 06:14:16 +00:00
jfrijters
6e76f50029
Fixed regression. The line number table was not emitted for constructors.
2010-10-05 06:09:49 +00:00