Commit graph

26 commits

Author SHA1 Message Date
fanoI
ad960c9a1a Continuation of Float work
- Fixed Single.ToString() on special cases (infinities, NaN and 0) and aumented the range of printable values
- Fixed Double.ToString(): it always printed "Double Overrange" for a bug in opcode ldarga
- Fixed opcode ldarga: the displacement of the argument variable was off of 4 bytes
- Fixed opcodes shr, shr_un and shl when the shift was more that 32 bytes, added to BCL relative tests
- Added BLC tests regarding BitConverter and unsafe code
- Moved the meat of the code of Single.ToString() and Double.ToString() to the class StringHelper together with the analogous methods for numer types
- Re-added _floatsignbit to CosmosAssembler.cs so the neg test should not fail anymore
- Removed all code relative to x87 that I had left under #if false
- Clean up
2016-08-22 16:31:22 +02:00
fanoI
e6143b75df Source lose some changes... forced them! 2016-07-31 19:55:12 +02:00
fanoI
6e1bfb8d92 - Implemented Neg Opcode for floating point
- Added test for Neg OpCode for float and double
- Conv.U8 wrongly changed the sign of double before converting it to ulong
- Div_Un, Add_Ovf and Add_Ovf_Un had code for floating point but they should not have that for ECMA specs
2016-07-17 17:05:00 +02:00
fanoI
0af7c5b78f - Finally the conversion of an ulong to a double works (IL opcode conv.r.un is completed)
- TestRunner should not be Run in process!
- Removed all unused 'variables' in CosmosAssembler.cs
- Fixed X#: FloatStoreAndPop() ignored the RegisterSize value
2016-07-03 15:00:04 +02:00
fanoI
4e1c505e52 Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	Tests/Cosmos.Compiler.Tests.SingleEchoTest/Kernel.cs
#	source/Cosmos.Assembler/Assembler.cs
#	source/Cosmos.IL2CPU/IL/Add.cs
#	source/Cosmos.IL2CPU/IL/Ceq.cs
#	source/Cosmos.IL2CPU/IL/Cgt.cs
#	source/Cosmos.IL2CPU/IL/Cgt_Un.cs
#	source/Cosmos.IL2CPU/IL/Clt.cs
#	source/Cosmos.IL2CPU/IL/Clt_Un.cs
#	source/Cosmos.IL2CPU/IL/Conv_I2.cs
#	source/Cosmos.IL2CPU/IL/Conv_I4.cs
#	source/Cosmos.IL2CPU/IL/Conv_I8.cs
#	source/Cosmos.IL2CPU/IL/Conv_R4.cs
#	source/Cosmos.IL2CPU/IL/Conv_R_Un.cs
#	source/Cosmos.IL2CPU/IL/Conv_U1.cs
#	source/Cosmos.IL2CPU/IL/Conv_U2.cs
#	source/Cosmos.IL2CPU/IL/Div.cs
#	source/Cosmos.IL2CPU/IL/Mul.cs
#	source/Cosmos.IL2CPU/IL/Sub.cs
2016-06-26 15:02:38 +02:00
Matthijs ter Woord
ba808f2bc6 . 2016-06-17 18:35:22 -04:00
Matthijs ter Woord
7a8e62b2eb . 2016-06-17 13:28:56 -04:00
Matthijs ter Woord
990591c9ff . 2016-06-16 18:47:08 -04:00
Matthijs ter Woord
78771994f8 . 2016-06-16 17:24:46 -04:00
Matthijs ter Woord
dada8dcc68 . 2016-06-16 15:05:39 -04:00
Matthijs ter Woord
2fed5169e1 . 2016-06-16 13:41:29 -04:00
Matthijs ter Woord
00c205ba68 . 2016-06-16 13:06:44 -04:00
Matthijs ter Woord
246898198d . 2016-06-16 12:33:07 -04:00
Matthijs ter Woord
be7b8a2a94 . 2016-06-16 12:30:38 -04:00
Matthijs ter Woord
dd55bff2c1 . 2016-06-15 15:11:55 -04:00
Matthijs ter Woord
1dc41f1a4b . 2016-06-15 12:16:27 -04:00
Matthijs ter Woord
f6f0bab95b . 2016-06-15 12:03:44 -04:00
Matthijs ter Woord
bbb8265166 . 2016-06-15 09:55:11 -04:00
Matthijs ter Woord
9a2f6714b5 . 2016-06-14 20:58:19 -04:00
Matthijs ter Woord
ee36382c27 . 2016-06-14 20:39:18 -04:00
Matthijs ter Woord
336020b418 . 2016-06-14 20:36:14 -04:00
Matthijs ter Woord
1b42377138 . 2016-06-14 17:53:14 -04:00
Matthijs ter Woord
ebb1eae7fd First stage of compiler refactorings 2016-06-14 15:26:39 -04:00
Matthijs ter Woord
4ed9d246ae First compiler refactoring. 2016-06-13 08:27:59 -04:00
Matthijs ter Woord
91d891244c . 2016-06-12 09:25:09 -04:00
Matthijs ter Woord
4d6fceb9e7 First step in improving x# and compiler. 2016-06-11 16:13:13 -04:00