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

2387 Коммитов

Автор SHA1 Сообщение Дата
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