jfrijters
96094d6cee
Made AssemblyClassLoader public and moved it to ikvm.runtime package.
2007-10-25 12:56:18 +00:00
jfrijters
79a5702779
Don't call custom assembly class loader for types that are defined in the assembly itself.
2007-10-25 06:28:26 +00:00
jfrijters
191dbcb00e
Make "classpath" build target build again.
2007-10-24 04:24:12 +00:00
jfrijters
8a79587e64
Updated version numbers to 0.37.
2007-10-22 15:45:52 +00:00
jfrijters
13fff84a96
Fixed Class.getModifiers() to mask out ACC_SUPER bit.
2007-10-22 10:25:54 +00:00
jfrijters
8d1e02155e
Added support for the fact that .NET generic type instances can now refer to dynamically loaded Java types.
2007-10-22 09:25:10 +00:00
jfrijters
895ad8516d
Implemented two custom assembly class loaders.
2007-10-22 08:09:19 +00:00
jfrijters
bc61248b9e
Added check to prevent defineClass() on an assembly class loader from defining a class that already exists in the assembly.
2007-10-22 05:20:42 +00:00
jfrijters
2628d5ab4b
Changed AssemblyClassLoader to be useable as a delegation parent for custom assembly class loaders.
2007-10-22 05:13:08 +00:00
jfrijters
18e17eeec4
Added ikvmc option to specify custom assembly class loader.
2007-10-21 07:15:40 +00:00
jfrijters
61bc8af572
Added support for custom assembly class loaders.
2007-10-21 07:14:53 +00:00
jfrijters
2d2be52f29
Don't add resources in core assembly twice (happened if a .NET assembly explicitly referenced the core assembly).
2007-10-18 13:57:05 +00:00
jfrijters
b4a7cb4d91
Refactored assembly class loading to be more like regular class loading and prepare for future custom assembly class loaders.
2007-10-18 13:54:11 +00:00
jfrijters
f3cdf14db2
Fixed URL.equals() for "ikvmres:" urls.
2007-10-18 05:53:28 +00:00
jfrijters
a22f2e0ce1
Disable inlining of __<clinit> method to work around x64 JIT bug.
2007-10-12 08:52:08 +00:00
jfrijters
25e5f841bd
Fix for bug #1802125 .
2007-10-10 06:54:20 +00:00
jfrijters
b08148de2b
JLS binary compat fix. Public inner classes should not be nested inside non public types.
2007-10-10 05:31:57 +00:00
jfrijters
7a2ffb3019
Regression fix. When getting a static field value, we should convert the value from signature type to stack type (to make sure that non-primitive value types are boxed).
2007-10-10 05:30:04 +00:00
jfrijters
f987aad795
Fixed handling of methods that don't have a DeclaringType.
2007-10-01 10:46:30 +00:00
jfrijters
0fc40a8133
Explicitly run <clinit> when calling a static method thru reflection via a DynamicMethod, to work around the .NET 2.0 bug in DynamicMethod that causes it not to call the class constructor in this case.
2007-09-25 12:27:21 +00:00
jfrijters
cd1a029440
Make sure that passed in reference arguments are of the correct type.
2007-09-25 06:12:59 +00:00
jfrijters
abef13a3d9
Disabled the use of DynamicMethod when running on Mono, because as of Mono 1.2.5.1 its DynamicMethod implementation is too broken for us.
2007-09-25 04:44:28 +00:00
jfrijters
d36bf2ea5a
Fixed RunClassInit() for remapped types.
2007-09-24 13:06:30 +00:00
jfrijters
d20ce68f75
Implemented optimized reflection/serialization when running on .NET 2.0 (by generating DynamicMethods instead of using .NET reflection).
2007-09-24 11:57:00 +00:00
jfrijters
69aada9320
Cache ReflectiveModifiers in CompiledTypeWrapper. AttributeHelper.GetInnerClass() is expensive and this property is called directly in response to Class.getModifiers(), so caching the modifiers results in a significant speedup of Class.getModifiers() which in turns speeds up Constructor.newInstance().
2007-09-19 09:38:05 +00:00
jfrijters
220166a19e
Changed LibraryVMInterfaceImpl.getWrapperFromClass() and getWrapperFromClassLoader() from using reflection to a map.xml implementation to improve performance.
...
It turns out that Constructor.newInstance() calls Class.getModifiers() which indirectly uses getWrapperFromClass() and using reflection significantly affected deserialization performance.
2007-09-19 09:35:57 +00:00
jfrijters
18bc6c0718
Freeze before getting a value, to make sure defaults are set.
2007-09-18 13:35:20 +00:00
jfrijters
c11f7d3e8f
Added extra checks to prevent critical failures when trying to extend or implement non-public base classes/interfaces in another assembly.
2007-09-17 10:15:17 +00:00
jfrijters
059cce0d42
New utility for generating .NET documentation from javadocs by Brian Heineman.
2007-09-17 06:01:20 +00:00
jfrijters
79ae150bca
Use Pipe instead of socket closing to trigger wakeup to avoid race condition between Socket.Close/Socket.Select.
2007-09-17 05:09:50 +00:00
jfrijters
2da6e524b5
Don't return -1 when attempting to read 0 bytes.
2007-09-17 05:06:34 +00:00
jfrijters
fa434bbd04
*** empty log message ***
2007-09-13 09:58:22 +00:00
jfrijters
f89e98b7ed
Implemented assertions (OpenJDK only).
2007-09-12 06:51:37 +00:00
jfrijters
4d63ff9272
Don't include unused code in runtime build, to avoid warnings.
2007-09-12 06:47:48 +00:00
jfrijters
2bd4452024
Implemented support for creating proxies for non-public interfaces from ikvmc compiled assemblies.
2007-09-11 12:12:35 +00:00
jfrijters
63deb9d487
Handle types that aren't exposed to Java.
2007-09-11 12:06:21 +00:00
jfrijters
c932cfad42
Made method annotation resolution lazy to support annotations that annotate themselves.
2007-09-10 06:16:49 +00:00
jfrijters
26af678899
Use Enum.valueOf() instead of reflection to get enum value. Reflection would fail if enum wasn't public.
2007-09-10 06:13:10 +00:00
jfrijters
5213872488
Handle ZipException when creating an empty zip file.
2007-09-10 06:11:27 +00:00
jfrijters
c0533934bc
Only seal packages that are sealed in the manifest.
2007-09-07 13:11:49 +00:00
jfrijters
0f3c84ab57
Core packages aren't sealed.
2007-09-07 12:37:26 +00:00
jfrijters
9fcf57e519
Fixed handling of finalize method to deal with scenarios where the base class isn't yet finished when the derived class' finalize method is linked.
2007-09-07 12:37:03 +00:00
jfrijters
b76bd6edd0
Stub package accessible abstract methods in public classes to allow JLS binary compatibility across assembly boundaries.
2007-09-07 12:34:46 +00:00
jfrijters
4df0beb760
Improved handling of abstract methods that aren't implemented in non-abstract classes (JLS binary compatibility).
2007-09-07 12:32:29 +00:00
jfrijters
59cc098225
Add support for overriding package virtual methods that have a different vtable slot from the non-package virtual method that we're overriding.
2007-09-07 12:29:21 +00:00
jfrijters
c811133672
Only public methods can implement missing interface methods.
2007-09-07 12:26:52 +00:00
jfrijters
d0437c7ee9
Implemented 1.6 JNI changes.
2007-09-07 05:19:11 +00:00
jfrijters
4ddfd2b12d
Enabled workaround for x64 tail call optimization in .NET 1.1 builds.
2007-08-29 06:23:47 +00:00
jfrijters
477adb3b33
Fixed code generator bug that could cause AbstractMethodError to be thrown when subclassing a .NET type that has an explicit interface method implementation.
2007-08-29 06:23:14 +00:00
jfrijters
41d63bda7c
*** empty log message ***
2007-08-29 06:22:40 +00:00