jfrijters
fb4fcb8cc8
EmitWriteLine isn't used anymore.
2010-10-07 06:04:35 +00:00
smallsql
8facc717c2
add method getFontConfigFUIR for Nimbus
2010-10-06 12:41:01 +00:00
smallsql
6e816cddd2
implements createCompatibleVolatileImage for Nimbus
2010-10-06 12:39:36 +00:00
smallsql
1e294662a6
Fix a rounding problem with FontMetrics
2010-10-06 08:31:53 +00:00
jfrijters
88df63d615
Fix to make sure that ikvmc (and ikvmstub) can find assemblies that are part of a multi assembly (shared class loader) group (if the assembly is in the same directory as the main assembly of the group).
2010-10-06 07:39:59 +00:00
jfrijters
d44f1a2be8
Moved core assembly detection to the right place, to avoid problems when a non-main assembly of the core assembly set is explicitly referenced.
2010-10-06 04:27:38 +00:00
jfrijters
a8c6571b49
Forgot DoEmit() call for constructors defined in xml mapping file.
2010-10-05 06:14:16 +00:00
jfrijters
6e76f50029
Fixed regression. The line number table was not emitted for constructors.
2010-10-05 06:09:49 +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
4d3a3079a5
Added exception message for backward branch constraints violations.
2010-10-05 04:50:04 +00:00
jfrijters
8861870e10
Added endfinally opcode.
2010-10-05 04:49:12 +00:00
jfrijters
4f5835934f
Made OpCodeWrapper data member private and added type safe accessors.
2010-10-01 09:22:47 +00:00
jfrijters
cec4f20c29
- Removed unnecessary methods from CodeEmitter.
...
- Removed "Lazy" prefixes in CodeEmitter.
2010-10-01 08:11:49 +00:00
jfrijters
17255f13ed
- Moved boxing/unboxing optimizationn to new model.
...
- Removed stack tracking / LazyGen remnants.
- Fixed comparison optimization to require the release of temporary local variables.
2010-10-01 06:40:49 +00:00
jfrijters
2bc060e265
Moved ldiv/idiv optimization to new model.
2010-10-01 04:41:06 +00:00
jfrijters
00136506eb
Moved long/float/double comparison optimization to new model.
2010-09-30 15:15:34 +00:00
jfrijters
902ce5539e
- Moved ldc_i4 and ldc_i8 encoding optimizations to the end of the pipeline.
...
- Added more side effect free load operations.
2010-09-30 10:04:54 +00:00
jfrijters
24e797fc2f
Moved over instanceof/byte array load to new optimization.
2010-09-30 08:56:59 +00:00
jfrijters
74d9cf55f7
Remove PopLazyLdstr and PeekLazyClassLiteral.
2010-09-30 08:05:30 +00:00
jfrijters
a37fec0af6
Remove usage of emitter stack peek methods (PeekLazyClassLiteral and PopLazyLdstr).
2010-09-30 08:04:46 +00:00
jfrijters
8f28fe1e63
Annihilate some common push/pop combinations.
2010-09-30 07:31:27 +00:00
jfrijters
dc35f2e455
Throw a NotSupportException if a branch offset doesn't fit (i.e. when a short form branch is used inappropriately).
2010-09-30 07:30:53 +00:00
jfrijters
6a61216e4f
Implemented branch optimization.
2010-09-30 06:00:40 +00:00
jfrijters
390446e4c5
Build intermediate store of MSIL code in CodeEmitter to allow post-processing optimization steps.
2010-09-30 04:03:32 +00:00
jfrijters
5297abc6f1
Fixed regression caused by try { } finally {} optimization: astore/aload of exception in finally handler should be ignored in local variable analysis.
2010-09-29 11:56:06 +00:00
jfrijters
3888406d95
Wrapped LocalBuilder in new CodeEmitterLocal class to allow CodeEmitter to encapsulate the ILGenerator fully.
2010-09-29 07:21:51 +00:00
jfrijters
cda96b33f0
Remove unused property.
2010-09-29 05:38:12 +00:00
jfrijters
ce884000ce
Moved line number / sequence point handling into CodeEmitter and made things more consistent.
2010-09-28 08:02:07 +00:00
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
smallsql
93160e18c3
create() for ButtonPeer and LabelPeer implemented
2010-09-24 08:23:22 +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
afbe76e74d
Added support for boolean, byte, char and short non-final static field constant attributes.
2010-09-21 14:09:54 +00:00
jfrijters
179771d488
Always wrap InvocationTargetException in another InvocationTargetException, to handle the case where a method is recursively calling itself.
2010-09-21 07:17:29 +00:00
jfrijters
b5709a3606
Changed workaround for gmcs inability to properly deal with two-pass compilation of mutually dependant assemblies to use reflection, because the previous workaround now also fails on Mono 2.8.
2010-09-21 05:45:48 +00:00
jfrijters
fceb82b65e
Fixed ExceptionBlock's Compare method to handle identity comparison, as Mono's sort implementation requires this.
2010-09-21 05:42:27 +00:00
jfrijters
c75b9ffb8c
Renamed StaticCompiler.GetType() that is used exclusively by map.xml processing to make it more obvious and added error message (and abort the compile). The remaining StaticCompiler.GetType() now behaves more like Type.GetType() in that it returns null if the type isn't found.
2010-09-20 15:08:45 +00:00
jfrijters
f77b2d0291
Move construction of EmitIntrinsicContext to compiler.
2010-09-14 14:15:07 +00:00
jfrijters
8f02df10b8
Added wrapper class for intrinsic emitter method arguments to make things more manageable and to have a place to stick helper methods.
2010-09-14 13:40:17 +00:00
jfrijters
42f9b26b34
Added extra indirection thru MethodWrapper for intrinsic method call emitting to allow .NET delegate constructor optimization to use instrinsic infrastructure instead of requiring EmitNewobj to pass a MethodAnalyzer and opcode index.
2010-09-14 13:19:11 +00:00
jfrijters
3a5fc585a9
Added extra indirection thru MethodWrapper for intrinsic method call emitting to allow .NET delegate constructor optimization to use instrinsic infrastructure instead of requiring EmitNewobj to pass a MethodAnalyzer and opcode index.
2010-09-14 12:29:22 +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
2fc594a370
Added VerifierTypeWrapper.IsNotPresentOnStack() to encapsulate the notion of types that aren't represented on the .NET stack.
...
Note that while this may look like a bug fix (because we're handling fault block exception types in more places), it isn't. Fault block exceptions can not actually occur on the stack, because the verifier will only allow them in very limited places.
2010-09-13 06:16:23 +00:00
jfrijters
63b3bcec7f
Remove unneeded call to ComputePartialReachability().
2010-09-13 05:10:19 +00:00
jfrijters
0e80c2034a
Added explanatory message to Link Error is it is caused by a missing reference.
2010-09-10 08:14:42 +00:00
jfrijters
6b50942867
Fix for bug #3056721 .
2010-09-10 07:59:39 +00:00