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

97 Коммитов

Автор SHA1 Сообщение Дата
jfrijters 9b1605afb8 Added ClassFile.Method.IsConstructor helper property. 2012-08-06 14:52:11 +00:00
jfrijters 6147f462ae Bug fix. If a bytecode instruction refers to an invalid constant pool entry, MarkLinkRequiredConstantPoolItem should not throw an exception, but simply ignore the mark, the incorrect bytecode will be reported later during verification. 2012-07-20 08:46:34 +00:00
jfrijters 7a5a7eacdc Added ClassFile.Field.IsStaticFinalConstant property to avoid duplicating the check. 2012-06-20 09:49:51 +00:00
jfrijters 784b32110e Removed utf8_cp field from ClassFile (as it was only used during ClassFile construction). 2012-05-01 07:55:37 +00:00
jfrijters bd00ad6a11 Added support to ikvmc to automatically set the full source path in the debugging info if the source file lives next to the .class file. 2012-03-24 08:54:12 +00:00
jfrijters 91135b70a1 Avoid linking class constant pool entries that aren't used (or are only used by name). This avoids spurious IKVMC0100 warnings and unnecessary class load attempts. 2012-03-12 08:33:27 +00:00
jfrijters 36de825458 Relax class name validation for trusted class loaders. 2011-11-28 08:14:13 +00:00
jfrijters a64f51c5b4 Don't enforce pre-1.5 class name rules in ikvmc (since HotSpot doesn't enforce any naming rules for classes loaded by the system (and boot) class loader, by default). Fix for #3443373. 2011-11-28 06:47:24 +00:00
jfrijters 4134540b5e Remove unused members from runtime. 2011-11-14 06:17:52 +00:00
jfrijters 0f0a0963c7 Added ikvm.lang.DllExport annotation to export static methods as unmanaged exports. 2011-11-11 15:35:13 +00:00
jfrijters 279b7ab1df Starting with class file version 51 the <clinit> methods need to be static. 2011-10-20 08:06:07 +00:00
jfrijters a9f1e7879a Implemented invokedynamic instruction. 2011-08-15 16:11:00 +00:00
jfrijters d7c359c0a3 Added support for MethodHandle constants (ldc <MethodHandle>). 2011-08-12 13:06:46 +00:00
jfrijters 7786fc87b8 Added support for MethodType constants (ldc <MethodType>). 2011-08-10 10:12:10 +00:00
jfrijters edc1073fbd Bug fix. The "ldc <class>" bytecode can throw an exception, so we need to treat it as such (previously it wasn't marked as throwing an exception, so an exception handler surrounding it could be "optimized" away). The new scheme is to patch the safe versions of ldc opcode into a ldc_nothrow. 2011-08-10 09:06:27 +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 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 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 ba28c0c14d Implemented first stab at converting suitable fault blocks into finally blocks. 2010-09-27 04:42:56 +00:00
jfrijters 311379f2ce Made ExceptionTableEntry completely immutable by making ordinal readonly as well. 2010-06-07 12:36:49 +00:00
jfrijters 03361a778a Made ExceptionTableEntry mostly immutable (ordinal will be next). 2010-06-07 10:05:28 +00:00
jfrijters 7dfb0107c4 Removed mutable flags field from Instruction. 2010-06-07 06:13:05 +00:00
jfrijters f3106c0868 Fixed loop counter integer overflow. Bug #3009543. 2010-06-01 04:09:48 +00:00
jfrijters f1bffde708 Handle the case where the exception block ends at the end of the method (scala compiler generates code like this). 2010-05-21 13:38:46 +00:00
jfrijters 9dc2df605a Moved non-throwing signature parsing from ClassFile.cs to ClassLoaderWrapper.cs (and merged it with the throwing variant). This avoids new stub generator having to include ClassFile.cs. 2010-01-28 06:37:48 +00:00
jfrijters 55cd844b5a Moved StringConstants from ClassFile.cs to TypeWrapper.cs, to avoid new stub generator (to be checked in later) to have to include ClassFile.cs 2010-01-28 06:24:13 +00:00
jfrijters 7eee0b86c7 Added basic signature validation for remap file (map.xml). Fixes bug 2908683. 2009-12-11 08:06:10 +00:00
jfrijters 464f56dbdf Added IKVM_EXPERIMENTAL_JDK_7 environment variable to enable loading Java 7 class files. 2009-11-30 09:13:48 +00:00
jfrijters db9c796794 Removed vestigial compact framework support. 2009-08-28 06:47:16 +00:00
jfrijters 28e5b235d7 Implemented optimization to remove .cctor when it is empty (and the class isn't serializable or has a serialVersionUID). 2009-07-16 06:26:47 +00:00
jfrijters cf0ab3a93e Fixed jsr/ret handling bug. 2009-06-18 05:55:47 +00:00
jfrijters 937d2e6568 Added support for inlining subroutines (jsr/ret) to allow the verifier and compiler to be simplified and to hopefully pave the way for future codegen optimizations. 2009-04-16 05:34:20 +00:00
jfrijters 70b04e174e Changed bytecode stream and exception tables to use instruction indexes instead of PC. 2009-04-07 04:53:56 +00:00
jfrijters 94f4fe2ee2 Make ikvmc emit a warning whenever it emits code that throws a hard error. 2008-12-23 06:07:10 +00:00
jfrijters 93fc80927d Fix bug in handling of jsr instruction. 2008-11-14 07:54:11 +00:00
jfrijters 40113d0b5b Added support for detecting "access" bridge methods and not hide them. 2008-09-21 09:50:41 +00:00
jfrijters 684cdf651e Generified all collections. 2008-08-15 12:01:06 +00:00
jfrijters e83a33bc99 Removed unused per-type class caching. 2008-08-15 06:27:12 +00:00
jfrijters cbeeb20318 Marked all static classes as static. 2008-06-03 07:13:49 +00:00
jfrijters f41a42949c - Renamed ClassFile.HasCallerID to distinguish it from MethodWrapper.HasCallerID.
- Added check to only recognize HasCallerID annotation in core library.
- Changed other locations that incorrectly used ClassFile.HasCallerID to use MethodWrapper.CallerID.
2008-06-02 06:20:29 +00:00
jfrijters 5e4182edb5 - Implemented CallerID infrastructure.
- Marked various methods with HasCallerID annotation.
- Rewrote some methods to explicitly use CallerID.
2008-05-31 15:20:29 +00:00
jfrijters 29f84a8850 - added more efficient float/double to/from int/long bits converters
- made Double.doubleToRawLongBits/longBitsToDouble and Float.floatToRawIntBits/intBitsToFloat intrinsics
- generalized the intrinsics support
2008-05-09 05:57:55 +00:00
jfrijters 90caa038dd Added support for turning Java fields into .NET properties with an annotation. 2008-04-14 05:13:41 +00:00
jfrijters d04c813e3f - Added -removeassertions optimization option to ikvmc.
- Added -removeassertions to IKVM.OpenJDK.ClassLibrary.dll build.
- Don't look at unreachable instructions when determining if a method needs a line number table.
2008-02-27 09:04:19 +00:00
jfrijters 6cd0a9e34b Restructured VM <-> Library interface to take advantage of InternalsVisibleTo to remove public methods and reflection usage. 2007-12-19 11:28:09 +00:00
jfrijters 3072c89696 - Removed .NET 1.1 specific code
- Removed conditional compilation of .NET 2.0 specific code
2007-11-26 08:38:38 +00:00
jfrijters 5d8ada6dc0 Implemented ikvmc optimization for string literals that are only used to call toCharArray() on. 2007-06-12 09:48:36 +00:00
jfrijters 1dbe0f1cc0 *** empty log message *** 2006-11-16 07:32:44 +00:00
jfrijters 2dda5479bc *** empty log message *** 2006-10-09 12:32:33 +00:00
jfrijters 7f0d951c64 *** empty log message *** 2006-08-29 06:28:34 +00:00