jfrijters
6dccbf20d5
Removed unused methods.
2009-11-06 07:46:39 +00:00
jfrijters
95cdfd8edd
Renamed ILGenerator.__GetILOffset() to ILGenerator.ILOffset to match with .NET 4.0.
2009-11-06 05:13:37 +00:00
jfrijters
33f074087f
Simplified the obj1.getClass() == obj2.getClass() intrinsic to avoid RuntimeTypeHandle. It turns out that on .NET 4.0 RuntimeTypeHandle.Value requires full trust and using RuntimeTypeHandle.Equals is actually slower than simply comparing the types (on .NET 4.0 beta 2, on .NET 2.0 this new approach is actually a bit slower, but the fact that the code is simpler and smaller is also worth something).
2009-10-23 05:58:41 +00:00
jfrijters
dac3109b6b
Replaced most type literals with static field access (in Types class) or warpped JVM.Import() around them.
2009-10-14 14:58:41 +00:00
jfrijters
b9ceecc098
Removed EmitHelper class and moved its methods into CodeEmitter.
2009-08-31 05:02:34 +00:00
jfrijters
db9c796794
Removed vestigial compact framework support.
2009-08-28 06:47:16 +00:00
jfrijters
52ec137518
Use ILGenerator's new "clever" mode in CodeEmitter to produce smaller code.
2009-08-14 13:36:53 +00:00
jfrijters
11edf7a73f
If IKVM_REF_EMIT is defined, we don't need to track the IL offset, we can use ILGenerator.__GetILOffset() instead.
2009-08-13 07:16:19 +00:00
jfrijters
213965367e
Optimized the reading of unsigned bytes from a byte array (buf[i] & 0xFF or buf[i] 0x0FFL).
2009-07-14 07:25:46 +00:00
jfrijters
04ca4a71f9
Moved class literal emit code to TypeWrapper and added checks to prevent types that are illegal in type instantations from being used with ClassLiteral<T>.
2009-07-13 08:34:37 +00:00
jfrijters
d3fbd5588d
Store our CodeEmitterLabel object in label check dictionary, instead of the underlying Label.
2009-04-06 10:14:47 +00:00
jfrijters
d20098ec2a
Renamed CodeEmitter.Finish() to CheckLabels() and moved invocation to the right place.
2009-04-06 10:10:17 +00:00
jfrijters
3ebf554517
Implemented ikvm.internal.ClassLiteral<T> to allow for more efficient class literals.
2009-03-04 05:47:18 +00:00
jfrijters
e417a92a37
- Moved class literal TypeWrapper -> Type step into expression emitter.
...
- Fixed Class.desiredAssertionStatus() instrinsic to use the RemoveAsserts flag from the right class loader.
2009-03-02 06:31:55 +00:00
jfrijters
05d0c7a5c6
Fixed bug introduced in recent changes. When the first entry on the stack contains a partial expression, it cannot be popped.
2009-03-02 04:52:05 +00:00
jfrijters
4291ce372d
- Added support for multi level stack tracking to CodeEmitter.
...
- Made most Pop emitting lazy to enable optimizing them away (together with corresponding push).
- Made loading class literal lazy, to enable optimizing them away when they aren't used (e.g. because an atomic intrinsic).
- Made Class.desiredAssertionStatus() into an intrinsic, to be able to optimize it away when -removeassertions is used.
2009-02-27 06:17:06 +00:00
jfrijters
faffcc628c
Integrated IKVM.Reflection.Emit in ikvmc.
2008-11-14 08:42:07 +00:00
jfrijters
684cdf651e
Generified all collections.
2008-08-15 12:01:06 +00:00
jfrijters
72b109c924
Removed our own tracking of LocalBuilders, because on .NET 2.0 LocalBuilder has a LocalIndex property.
2008-08-13 13:05:43 +00:00
jfrijters
a9e9235f3b
DynamicMethod support isn't needed in ikvmc.
2008-08-12 14:57:04 +00:00
jfrijters
b1b3f8b4f5
- Renamed CountingILGenerator to CodeEmitter.
...
- Renamed CountingLabel to CodeEmitterLabel.
2008-06-03 12:10:07 +00:00
jfrijters
f238214cfa
- Optimized codegen for lcmp, fcmp<x>, dcmp<x> and shift opcodes.
...
- Moved temp local handling to CodeEmitter.
2008-02-15 15:32:51 +00:00
jfrijters
b6ee3e2ec4
Added support for lazy string literals.
2007-06-12 09:47:40 +00:00
jfrijters
b78073fa54
*** empty log message ***
2006-11-27 07:39:30 +00:00
jfrijters
7f0d951c64
*** empty log message ***
2006-08-29 06:28:34 +00:00
jfrijters
323fa284ca
*** empty log message ***
2006-05-04 08:09:56 +00:00
jfrijters
c2b05c55fd
*** empty log message ***
2006-04-10 10:18:49 +00:00
jfrijters
69be416b18
*** empty log message ***
2006-04-10 09:09:09 +00:00
jfrijters
c44078fa27
*** empty log message ***
2006-01-02 10:59:51 +00:00
jfrijters
0bda6e85d9
*** empty log message ***
2005-12-29 15:48:32 +00:00
jfrijters
ba78911cf7
*** empty log message ***
2005-12-20 12:44:29 +00:00
jfrijters
5e4bb4f5cf
*** empty log message ***
2005-12-19 15:12:49 +00:00
jfrijters
7fb5bb4b47
*** empty log message ***
2005-12-07 09:06:32 +00:00
jfrijters
8fbae44122
*** empty log message ***
2005-08-22 12:42:02 +00:00
jfrijters
2d10c3381d
*** empty log message ***
2005-07-20 07:26:10 +00:00
jfrijters
d29c0daf57
*** empty log message ***
2005-06-19 10:44:53 +00:00
jfrijters
550604d59b
*** empty log message ***
2005-06-01 09:49:30 +00:00
jfrijters
1b65938abf
*** empty log message ***
2005-01-03 08:26:21 +00:00
jfrijters
c96afa984f
*** empty log message ***
2004-11-23 17:46:39 +00:00
jfrijters
f60cc2a8c5
*** empty log message ***
2004-11-04 12:50:28 +00:00
jfrijters
59d57765d3
*** empty log message ***
2004-10-19 13:43:55 +00:00
jfrijters
b49d563969
*** empty log message ***
2004-10-04 19:30:53 +00:00
jfrijters
96123d3276
*** empty log message ***
2004-09-09 11:17:55 +00:00
jfrijters
eeefade580
*** empty log message ***
2004-08-17 09:05:21 +00:00
jfrijters
37544e6e89
*** empty log message ***
2004-05-27 07:12:04 +00:00