Commit graph

372 commits

Author SHA1 Message Date
José Pedro
a860b2373a Fixed Newobj for string with length parameter.
Minor changes in debugging and FAT test messages.
Removed useless "if" in FAT, previously added by me.
2016-09-29 19:48:59 +01:00
Charles Betros
4b67c02f26 Fixed delegates and moved some assemblers. 2016-09-28 23:24:04 -05:00
Charles Betros
73ef14d551 Working on delegates. 2016-09-26 06:55:37 -05:00
Charles Betros
95f4dbad77 More memory work. 2016-09-11 07:53:45 -05:00
Charles Betros
a9cb616f86 Merge from master. 2016-09-07 19:42:40 -05:00
fanoI
9610858423 Fixed Shr for long with count > 32 2016-09-08 00:27:01 +02:00
Charles Betros
1a63a35507 Fix for remainder op. 2016-09-07 17:03:15 -05:00
Charles Betros
c2b3094c57 Ongoing memory changes. 2016-09-07 14:49:22 -05:00
Charles Betros
4b5bc34445 Remove breakpoints. 2016-09-06 14:38:29 -05:00
Charles Betros
286d670276 Fix more tests 2016-09-06 14:34:19 -05:00
Charles Betros
87d964a602 More memory. 2016-09-05 01:01:54 -05:00
Charles Betros
1b18908a2b working on statics. 2016-09-04 09:57:47 -05:00
Charles Betros
4f13a49a85 Compiler changes for memory. 2016-09-03 00:40:33 -05:00
Charles Betros
85103e9d9b RAT progress 2016-08-26 07:02:18 -05:00
fanoI
4dbad9501d Merge pull request #435 from Unknown6656/date-time-functions
Added Stopwatch, Thread.Sleep and some CPUID implementation
2016-08-24 19:39:12 +02:00
fanoI
e2f363a200 Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	Tests/Cosmos.Compiler.Tests.Bcl/System/DoubleTest.cs
#	Tests/Cosmos.Compiler.Tests.Bcl/System/SingleTest.cs
2016-08-22 17:12:59 +02:00
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
Unknown6656
a7f72cc2e6 Fixed bool-bool-operations 2016-08-19 18:50:03 +02:00
Charles Betros
045fe549fb Merge branch 'master' 2016-08-18 16:55:23 -05:00
Charles Betros
565053414d Merge pull request #369 from fanoI/master
- Initial work as for https://github.com/CosmosOS/Cosmos/issues/359
2016-08-18 16:32:23 -05:00
fanoI
ec6e231ac9 - Bugfix Shr_un does not really did a shift right unsigned
- Bugfix Shr does not really did a shift right signed
- Bigfix ShiftRighDouble was implemented as  ShiftLeftDouble
2016-08-18 20:10:10 +02:00
Charles Betros
73b81c7bcc Working on rat. 2016-08-18 07:32:45 -05:00
Charles Betros
b8f35da19c Merge branch 'master' into rat 2016-08-10 22:22:22 -05:00
Charles Betros
00ae14ab24 Fix newobj for char[] 2016-08-10 19:27:52 -05:00
Kevin
23c7e4c01e Fixed (short-short) op bug 2016-08-10 13:15:12 -04:00
fanoI
e6143b75df Source lose some changes... forced them! 2016-07-31 19:55:12 +02:00
fanoI
e36aeefd1a Trying to enanche the constant variables declaration:
- Added a version of XS.SSE.MoveSS that accepts a String as source (to use the constant variable name)
- Added XS.SSE2.XorPd
- Neg opcode declares the constant inline and not uses XS.LiteralCode anymore

Please note that this code actually fails the second float neg test for no valid reason!
2016-07-31 17:01:50 +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
Charles Betros
37a4e71deb Merge some compiler changes from master. 2016-06-29 23:18:04 -05:00
Charles Betros
b7cd470c33 Merge 2016-06-28 23:36:03 -05:00
Charles Betros
607db8f5ff Merge missing stuff from plug manager. 2016-06-28 23:32:53 -05:00
Matthijs ter Woord
c74800a073 Merge branch 'master' into rat 2016-06-28 10:29:07 -04:00
Charles Betros
1bb7d6335f Merge from master. 2016-06-26 13:44:56 -05:00
fanoI
56beccb8af Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	source/Cosmos.sln
2016-06-26 15:09:13 +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
c083c8f35f Add kernel panic method to debugstub. 2016-06-25 19:33:26 -04:00
Matthijs ter Woord
6e5d7620a9 Little progress. 2016-06-25 17:37:45 -04:00
Matthijs ter Woord
38e897543b Ongoing progress integrating new memory model. 2016-06-25 15:30:58 -04:00
Matthijs ter Woord
3bfaf7f670 Make plugmanager not throw exceptions when plug targets are not found. 2016-06-25 12:16:51 -04:00
Matthijs ter Woord
1433340ba5 Generic plugs work now. 2016-06-25 10:52:50 -04:00
Charles Betros
f3bb974712 Progress on memory. Fix ldelem_ref. 2016-06-24 21:38:55 -05:00
Matthijs ter Woord
19160c30d4 Now plugs which aren't being used aren't being compiled anymore. 2016-06-24 15:26:31 -04:00
Charles Betros
bae772237f Added missing debugstub plug. 2016-06-24 10:27:00 -05:00
Matthijs ter Woord
610f2b652a Geting closer on zork. 2016-06-23 18:12:28 -04:00
Matthijs ter Woord
3bc4ea78dd Some basic improvements. 2016-06-23 16:36:08 -04:00
Matthijs ter Woord
989cc0cb4b . 2016-06-23 11:04:34 -04:00
Matthijs ter Woord
83e1ae9edc Progress. 2016-06-22 16:32:16 -04:00
Matthijs ter Woord
96bf9209de Ongoing fixes. 2016-06-22 15:55:32 -04:00
Matthijs ter Woord
e97100d4e6 More progress. 2016-06-22 11:27:21 -04:00
Matthijs ter Woord
8a40af1b87 More ongoing progress. Getting closer to being able to run again.. 2016-06-21 21:03:46 -04:00
Matthijs ter Woord
7f94d132be Even more ongoing progress. 2016-06-21 20:34:27 -04:00
Matthijs ter Woord
1ac8619640 More ongoing progress. 2016-06-21 20:00:33 -04:00
Matthijs ter Woord
ada707f1d6 Ongoing progrss. 2016-06-21 19:19:08 -04:00
Matthijs ter Woord
4641286f0f More progress on ram. 2016-06-21 18:57:38 -04:00
Matthijs ter Woord
5e8a93b0c3 Ongoing work on memory. 2016-06-21 18:34:23 -04:00
Matthijs ter Woord
b5ff4a75db Ongoing memory work. 2016-06-21 17:16:51 -04:00
Matthijs ter Woord
d592b2dc0d Ongoing memory work. 2016-06-21 17:16:44 -04:00
fanoI
49192ffa24 - Conv.r.un is now partially implemented: an uint can be converted to double, not working code for ulong to double conversion
- Added (not working) test for ulong to double conversion
- Added to Assembler.cs costants needed for floating point conversions
2016-06-21 23:03:37 +02:00
Charles Betros
14f6f6247c Merge 2016-06-21 10:45:33 -05:00
Charles Betros
a94c40f605 Fixed some issues with ldelema and stfld. 2016-06-21 10:42:02 -05:00
Matthijs ter Woord
65c83f9491 Ongoing changes for memory. 2016-06-20 19:44:16 -04:00
Matthijs ter Woord
075e64d991 . 2016-06-20 16:11:16 -04:00
Matthijs ter Woord
d62d337b90 Fixed the exceptions. 2016-06-20 13:39:17 -04:00
Matthijs ter Woord
6be879d25a Progress on heap. 2016-06-20 13:10:34 -04:00
Matthijs ter Woord
4bdfbab03c Merge remote-tracking branch 'origin/master' into rat 2016-06-20 12:51:11 -04:00
Charles Betros
3cc57fdd5c Merge branch 'master' 2016-06-19 18:32:48 -05:00
Charles Betros
a194f1dd73 Disable Frotz build. 2016-06-19 12:35:03 -05:00
Matthijs ter Woord
f311499e26 Ongoing changes for RAT. 2016-06-19 12:47:40 -04:00
Matthijs ter Woord
6ea1ca7255 Object pointer size is bumped up to 8. First the actual data pointer, then the pointer to the next object pointer 2016-06-18 15:06:30 -04:00
Matthijs ter Woord
030ba36636 Fix loading fields larger than 4 bytes from structs on the stack. 2016-06-18 14:00:58 -04:00
Matthijs ter Woord
35a15fe005 Start with increasing object reference size. 2016-06-18 12:25:17 -04:00
Matthijs ter Woord
ba808f2bc6 . 2016-06-17 18:35:22 -04:00
Matthijs ter Woord
efb7823d9f . 2016-06-17 16:40:46 -04:00
Matthijs ter Woord
5d66d12d69 . 2016-06-17 15:18:29 -04:00
Matthijs ter Woord
17dcca9a91 . 2016-06-17 15:01:56 -04:00
Matthijs ter Woord
8ed25a38ea . 2016-06-17 14:34:31 -04:00
Matthijs ter Woord
adb9d3b988 . 2016-06-17 14:30:54 -04:00
Matthijs ter Woord
991e81a5c3 . 2016-06-17 13:46:05 -04:00
Matthijs ter Woord
7a8e62b2eb . 2016-06-17 13:28:56 -04:00
Matthijs ter Woord
cc44dc021e . 2016-06-17 13:16:01 -04:00
Matthijs ter Woord
ac1f59034d . 2016-06-17 12:58:26 -04:00
Matthijs ter Woord
4cfc7aabe7 . 2016-06-17 08:23:48 -04:00
Matthijs ter Woord
9d203f141e . 2016-06-16 20:08:41 -04:00
Matthijs ter Woord
8a87dfff87 . 2016-06-16 19:19:14 -04:00
Matthijs ter Woord
40ff5ad8a7 . 2016-06-16 19:04:26 -04:00
Matthijs ter Woord
990591c9ff . 2016-06-16 18:47:08 -04:00
Matthijs ter Woord
02b8c2eddf . 2016-06-16 18:27:45 -04:00
Matthijs ter Woord
a1d0215d86 . 2016-06-16 17:53:08 -04:00
Matthijs ter Woord
7417d1a1b1 . 2016-06-16 17:35:09 -04:00
Matthijs ter Woord
78771994f8 . 2016-06-16 17:24:46 -04:00
Matthijs ter Woord
c4af87a933 . 2016-06-16 16:54:53 -04:00
Matthijs ter Woord
dada8dcc68 . 2016-06-16 15:05:39 -04:00
Matthijs ter Woord
7657070e1e . 2016-06-16 14:33:38 -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
dd1710d742 . 2016-06-16 12:59:00 -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
f1f5e88c3d . 2016-06-16 11:41:19 -04:00