jfrijters
c6e3c87af1
Added (unused) debugging method to dump a method to the console.
2010-09-27 09:37:02 +00:00
jfrijters
8375659166
Convert javac synchronized block fault handlers into finally handlers.
2010-09-27 05:48:40 +00:00
jfrijters
ba28c0c14d
Implemented first stab at converting suitable fault blocks into finally blocks.
2010-09-27 04:42:56 +00:00
jfrijters
7f3b28c129
Restructured method analyzer/verifier to make data flow more obvious and keep less data alive during compilation.
2010-09-22 04:01:36 +00:00
jfrijters
22381efaab
Seal classes and make fields readonly.
2010-09-14 09:02:21 +00:00
jfrijters
3797879e66
Moved local variable analysis from verifier.cs to new file LocalVars.cs.
2010-09-14 07:38:42 +00:00
jfrijters
b8cb939d6c
Moved local variable analysis into a separate pass.
2010-09-14 05:57:24 +00:00
jfrijters
4f002b9468
Consolidated all bytecode flow control properties.
2010-09-13 06:53:16 +00:00
jfrijters
63b3bcec7f
Remove unneeded call to ComputePartialReachability().
2010-09-13 05:10:19 +00:00
jfrijters
94f7513960
Fixed another verifier regression introduced with try/fault handler changes.
2010-08-03 12:43:58 +00:00
jfrijters
3fa99010ee
Made most static compiler warnings local to the target that is being compiled (in multi target mode), to allow warnings to be suppressed (or turned into an error) for a specific target.
2010-07-16 08:50:40 +00:00
jfrijters
0feee7bea0
Fixed verifier regression introduced with try/fault handler changes. Thanks to Enrico Minack for reporting this.
2010-07-12 06:57:23 +00:00
jfrijters
0ed13314f0
Implemented codegen improvement to use CLR fault handlers for Java catch all handlers, whenever possible.
2010-06-08 05:25:14 +00:00
jfrijters
3ca0627114
Since we're no longer modifying the instructions, there's no reason to pass it around instead of using it directly from the Method object.
2010-06-08 04:15:39 +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
7a55f7c03c
Moved type flow and optimization passes into separate methods.
2010-06-02 12:38:15 +00:00
jfrijters
f9bb92b3f2
Fixed theoretical issue in RemoveAssertions optimization.
2010-06-02 12:29:16 +00:00
jfrijters
9752893b47
Split analysis steps into separate methods.
2010-06-02 10:31:58 +00:00
jfrijters
4126779d1b
Made the "unnecessary" exception handler removal a little less conservative.
2010-06-02 07:43:51 +00:00
jfrijters
393dc88577
Moved exception untangling code into MethodAnalyzer where it makes more sense.
2010-06-02 06:37:35 +00:00
jfrijters
6d3632f144
Removed unused code.
2010-05-31 09:33:28 +00:00
jfrijters
d1e163408f
Removed IKVM_REF_EMIT, as STATIC_COMPILER or STUB_GENERATOR now always implies IKVM.Reflection.
2010-01-28 09:18:33 +00:00
jfrijters
05180f101b
Moved VerifierTypeWrapper from verifier.cs to TypeWrapper.cs, to avoid new stub generator (to be checked in later) to have to include verifier.cs
...
(also made VerifierTypeWrapper sealed)
2010-01-28 06:09:20 +00:00
jfrijters
dbd6df02ae
Integrated new IKVM.Reflection implementation.
2010-01-25 07:52:27 +00:00
jfrijters
db9c796794
Removed vestigial compact framework support.
2009-08-28 06:47:16 +00:00
jfrijters
35d71675e8
Small code cleanup. Changed a couple of abstract methods in TypeWrapper to virtual and provided a default implementation and removed the implementation from a number of subclasses.
2009-08-28 06:20:22 +00:00
jfrijters
53953bd7e7
When unsharing the localstoresite array, mark each individual entry as shared. I don't think this was actually a bug due to the specifics of how sharing work, but it definitely was a bug waiting to happen.
2009-06-18 06:29:05 +00:00
jfrijters
1dc4224163
Removed code that is no longer used (because of the jsr/ret split off) from instruction state merging.
2009-06-18 06:27:11 +00:00
jfrijters
5b9bcb49e1
Fixed bug in local variable store site merging.
2009-06-18 06:22:29 +00:00
jfrijters
fe3d744e76
Removed unnecessary IsEmpty property from LocalStoreSites.
2009-06-18 06:21:11 +00:00
jfrijters
62e4bc8b12
Removed jsr/ret support.
2009-04-16 05:44:48 +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
b33c19f438
Handle invokespecials that have been turned into errors in local variable analysis.
2009-02-04 06:52:53 +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
684cdf651e
Generified all collections.
2008-08-15 12:01:06 +00:00
jfrijters
0ddb43d120
Replaced explicit usage of System.Reflection.Emit types with "using System.Reflection.Emit;" to make switching to Cecil easier.
2008-08-12 14:45:23 +00:00
jfrijters
018eaf5acb
Restructured code to remove (mcs) compiler warnings.
2008-05-20 07:43:42 +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
1c3e9561fe
Handle converting forms of fstore/dstore to prevent Debug.Assert from firing.
2008-02-09 17:35:30 +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
255c73356c
Implemented improved floating point compliance.
2007-08-08 13:51:55 +00:00
jfrijters
1829cab477
Fixed verifier/compiler to support dup_x2 form 2. Found by Derby test suite. Thanks to Albert Strasheim.
2007-05-04 06:41:46 +00:00
jfrijters
0b9b0ee2d3
- Changed ikvmc to fail with a Link Error when it detects a loader constraints violation (instead of emitting code that throws a LinkageError at runtime).
2007-02-01 07:13:02 +00:00
jfrijters
637dea4dfc
*** empty log message ***
2006-08-31 09:22:10 +00:00
jfrijters
7f0d951c64
*** empty log message ***
2006-08-29 06:28:34 +00:00
jfrijters
a6f7f9c232
*** empty log message ***
2006-08-21 05:15:51 +00:00
jfrijters
c5a3ee90b3
*** empty log message ***
2006-08-06 09:27:20 +00:00