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

83 Коммитов

Автор SHA1 Сообщение Дата
jfrijters 6486a0cf29 Special case reflective invocation of MethodHandle.invoke[Exact]. 2011-08-08 11:29:35 +00:00
jfrijters fff0e0813f Added .NET 4 security attributes. 2011-07-30 10:34:13 +00:00
jfrijters 442851c125 Switched to a different way to force Thread.[get|set]ContextClassLoader methods to be JIT compiled eagerly to avod RuntimeHelpers.PrepareMethod() which requires full trust.
Added back in the (unused) OpenJDK override checking code.
2011-07-30 09:57:21 +00:00
jfrijters e2493b9618 Fixed Thread.isCCLOverridden() bug. If the [g|s]etContextClassLoader() methods were not JITted before isCCLOverridden(), ldftn would return the JIT stub address and the vtable could contain the JITted method address. 2011-07-11 07:35:47 +00:00
jfrijters 8973d97e41 Made sun.misc.Unsafe.ensureClassInitialized() into an intrinsic. 2011-07-07 07:52:59 +00:00
jfrijters 12a909f21f Updated java.nio.Bits to OpenJDK 7. 2011-07-07 07:04:32 +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 dcb3e8451e Updated java.io package to OpenJDK 7. 2011-07-01 08:56:51 +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 1ece25e884 Updated java.lang.Throwable to OpenJDK 7. 2011-06-26 06:32:47 +00:00
jfrijters 6d381ee6fe Unforked sun.misc.Launcher. Use (more) map.xml patching instead. 2011-06-19 10:17:19 +00:00
jfrijters f5c6a874a0 Use some map.xml magic to create a no-op constructor that will allow the number of source differences to be reduced while maintaining the optimized nature of the DUMMY instance. 2011-06-17 14:46:35 +00:00
jfrijters ffe0dacce7 - Updated AtomicInteger, AtomicIntegerArray, AtomicLonger, AtomicLongerArray to use .NET 2.0 interlocked operations.
- Added stind_i8 opcode to remapper.
2011-05-13 07:29:31 +00:00
jfrijters 1eeadb5333 - Replaced reflection based implementation of isCCLOverridden() with an MSIL version that directly compares the method pointers.
- Always use isCCLOverridden() to determine if we need to call parent.getContextClassLoader(), this avoids resolving ClassLoader.DUMMY when we're creating a new thread.
2010-11-20 07:41:00 +00:00
jfrijters a019709849 Add explicit memory barriers after volatile stores. 2010-10-22 06:07:25 +00:00
jfrijters ede6f86062 Don't depend on leave/endfinally instructions being inserted automatically by ILGenerator. 2010-10-05 04:54:09 +00:00
jfrijters 9d87c806d0 IPv6 addresses associated with NetworkInterface should have their scope and network interface set (when appropriate). 2010-09-01 06:40:28 +00:00
jfrijters 4140a2c52b - Split objectWait into two. One for the nanos variant and one that does the actual waiting.
- Fixed edge case where timeout == Long.MAX_VALUE and nanos >= 500000 that should cause IllegalArgumentException (to be compatible with the JDK, although that is arguably a JDK bug).
- Fixed exception when timeout > Integer.MAX_VALUE. Thanks to Andy Malakov for reporting this.
2010-08-09 12:27:39 +00:00
jfrijters a5edc53cbc Removed LinkDemand on addShutdownHook. .NET 4.0 removed the LinkDemand from the AppDomain.ProcessExit event, so it probably is harmless. 2010-06-11 07:02:29 +00:00
jfrijters ce4dfa49da Removed exception mapping methods from Throwable and consolidated into a single method (actually, two methods, but the dynamic one should not be necessary and should be removed later). 2010-05-30 06:53:49 +00:00
jfrijters b242c1026b Moved ExceptionHelper into proper namespace and some cleanup. 2010-05-27 16:07:56 +00:00
jfrijters 0d2012757f Moved the remainder of the exception mapping to the C# side. 2010-05-27 14:54:41 +00:00
jfrijters 63fac84c10 - Added new public API to unmap exception (ikvm.runtime.Util.unmapException()).
- Moved (parts of) mapping and unmapping to C# side.
2010-05-27 14:08:58 +00:00
jfrijters d67bc55267 Moved more ExceptionHelper methods to C# side. 2010-05-27 13:23:04 +00:00
jfrijters fa0e1b04f0 Yet more ExceptionHelper moving. 2010-05-27 13:03:26 +00:00
jfrijters fe0f5df2a1 Moved a few more ExceptionHelper methods to C# side. 2010-05-27 12:36:40 +00:00
jfrijters 4da8e27cf7 Moved printStackTrace to C# side. 2010-05-27 12:08:01 +00:00
jfrijters a4500fdb47 Moved readObject/writeObject to C# side. 2010-05-27 11:21:23 +00:00
jfrijters 195f6ce2c6 First step of moving all exception handling code to C#. 2010-05-27 09:17:56 +00:00
jfrijters 68a8b9557a Remove use of reflection for getting the slot of a java.lang.reflect.Field. 2010-04-28 14:22:51 +00:00
jfrijters 6e4ffb2002 Prep for .NET 4.0 security model:
- added more SecurityCritical attributes
- added SecuritySafeCritical/TreatAsSafe attributes to Direct-X-Buffer classes
2010-04-12 06:38:46 +00:00
jfrijters 562b15ceb2 Prep for .NET 4.0 security model:
- serialization methods must be critical.
2010-04-12 04:17:39 +00:00
jfrijters 21a741cb16 Make java.lang.Throwable .NET serializable. 2009-08-11 05:59:52 +00:00
jfrijters 3855d129ce Removed unused attribute (Method.Type). 2009-08-06 06:46:54 +00:00
jfrijters 43fd0daf07 Implemented support for .NET serialization of Java enums.
(The CreateEnumEnum move in FakeTypes.cs is because java.lang.Enum now has a dependency on custom attribute annotations.)
2009-07-29 09:36:56 +00:00
jfrijters 2c2388d152 Implemented .NET serialization support for java.lang.Class objects. 2009-07-29 07:04:42 +00:00
jfrijters 45a57e8ec5 Moved most java.lang.Class changes from map.xml to java source. 2009-07-28 13:01:25 +00:00
jfrijters 64e5615aaa Moved responsibility for creating java.lang.Class instances for "fast literal" enable types into ClassLiteral<T>, this allows class literals to be really cheap, because non of the underlying reflection is needed, the class will cache the Type and lazily resolve it to its TypeWrapper. 2009-07-14 06:27:41 +00:00
jfrijters fbf4d5167a Rewrote exception handling to store Java exception state in our java.lang.Throwable class, instead of an additional object in a weak keyed map. 2009-03-16 05:50:59 +00:00
jfrijters 189274028e Marked java.lang.Object and java.lang.StackTraceElement as serializable (in the .NET sense). 2009-03-16 05:48:13 +00:00
jfrijters 7ade017084 Removed workaround I no longer care about. 2008-12-23 06:18:50 +00:00
jfrijters 2ce813b790 Removed accessor that is no longer needed now that ResolverConfigurationImpl has been forked. 2008-12-23 05:41:26 +00:00
jfrijters 2381194072 Removed the usage of .NET reflection. 2008-09-01 05:19:04 +00:00
jfrijters a07c38f656 Forked java/nio/Bits.java to remove unsafe code from static initializer. 2008-09-01 04:00:06 +00:00
jfrijters b91bce8821 Added helper methods to no longer require reflection to instantiate DirectByteBuffer from JNI. 2008-08-21 06:05:24 +00:00
jfrijters 21c028191c Moved generated exception mapping code from ExceptionHelper to Throwable and made it slightly less hacky. 2008-08-14 06:51:32 +00:00
jfrijters 714af027ed Reformatted. 2008-08-14 06:02:54 +00:00
jfrijters 1ce49f3525 - Implemented connected datagram sockets using .NET 2.0 Socket.Connect()/Disconnect() API.
- Used .NET 2.0 Socket.IOControl() API to disable WSAECONNRESET errors (when not connected).
- Removed workaround for OpenJDK bug from map.xml.
2008-06-15 09:12:17 +00:00
jfrijters db4720da16 Changed compareAndSet methods from map.xml based implementation to AtomicReferenceFieldUpdater based implementation. This reduces the number of differences between upstream and our version. 2008-06-06 07:07:14 +00:00
jfrijters e54ba82385 Fixed three String bugs found by OpenJDK string tests. 2008-06-05 06:06:10 +00:00