Граф коммитов

949 Коммитов

Автор SHA1 Сообщение Дата
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