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