Commit graph

422 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
Matthijs ter Woord
550901b19a . 2016-06-15 18:10:54 -04:00
Matthijs ter Woord
594efd2fd7 . 2016-06-15 16:50:40 -04:00
Matthijs ter Woord
2ce5c4cb1f . 2016-06-15 16:47:21 -04:00
Matthijs ter Woord
fc902e5a68 . 2016-06-15 16:38:45 -04:00
Matthijs ter Woord
98cd7da12f . 2016-06-15 16:31:21 -04:00
Matthijs ter Woord
6b5373da23 . 2016-06-15 15:16:52 -04:00
Matthijs ter Woord
dd55bff2c1 . 2016-06-15 15:11:55 -04:00
Matthijs ter Woord
5979ad032e . 2016-06-15 15:04:50 -04:00
Matthijs ter Woord
12d1ae5614 . 2016-06-15 12:50:06 -04:00
Matthijs ter Woord
5803a95381 . 2016-06-15 12:36:58 -04:00
Matthijs ter Woord
f86cbfb6bf . 2016-06-15 12:35:46 -04:00
Matthijs ter Woord
ff5662e9aa . 2016-06-15 12:22: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
feef7db59a . 2016-06-15 11:45:30 -04:00
Matthijs ter Woord
bbb8265166 . 2016-06-15 09:55:11 -04:00
Matthijs ter Woord
f5e3ea6da9 . 2016-06-15 08:39:19 -04:00
Matthijs ter Woord
456772f88f . 2016-06-14 21:25:40 -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
d5dc2328b0 More refactoring. 2016-06-14 16:46:11 -04:00
Matthijs ter Woord
e96dbf6764 . 2016-06-14 15:39:58 -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
Charles Betros
455ee32d5b Merge branch 'master' of https://github.com/CosmosOS/Cosmos.git 2016-06-10 16:44:54 -05:00
Matthijs ter Woord
6e37341d08 Remove .ilinstructions file creation. 2016-06-10 13:33:39 -04:00
Matthijs ter Woord
82330b4b48 Initial work to move out the heap to a separate project. 2016-06-10 11:42:30 -04:00
Matthijs ter Woord
c4929d43a5 We don't need to call the class constructor if we're already in the class itself. 2016-06-09 16:48:43 -04:00
Matthijs ter Woord
a492f0eccc Mark heap implementation with PlugRequired 2016-06-09 10:08:25 -04:00
Matthijs ter Woord
659dc538bf Potentially fix the build? 2016-06-04 19:11:01 +02:00
Matthijs ter Woord
2bd58182af Fix plugs referencing non-existing types. 2016-06-04 19:01:45 +02:00
fanoI
a5bd158514 Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	Tests/Cosmos.Compiler.Tests.Bcl/Kernel.cs
#	source/Cosmos.Core/CPU.cs
2016-05-28 14:33:11 +02:00
sgetaz
2de222bb2d Plug attribute (#196)
Plug required attribute.
2016-05-25 09:17:06 -05:00
fanoI
58c556f085 - Initial work as for https://github.com/CosmosOS/Cosmos/issues/359
- Added Console.Clear() to Guess Demo (the boot text remained on screen)
- Added to BCL test BitConverterTest (all failing), test for single / double arithmetic operations
- Added to TestRunner BCLTest
2016-05-21 18:55:39 +02:00
Charles Betros
f19063ccc9 Fixed ldelema and disabled float and double tests. 2016-05-15 13:44:09 -05:00
Charles Betros
a2d610e1db Reversed return values. 2016-04-15 13:12:57 -05:00
Charles Betros
3fcc2860a9 FAT file system work. 2016-04-14 13:27:18 -05:00
Charles Betros
ef9282836b Fixed keyboard interrupt, generics, and double. 2016-04-14 13:26:54 -05:00
Charles Betros
89d021772b Added byref types so they work with constrained callvirt. 2016-03-24 13:24:09 -05:00
Charles Betros
83ad5f34cf Fixed some issues with wtong types on the stack. 2016-03-24 08:52:02 -05:00
Charles Betros
2de021685e Fix up packages. 2016-03-13 13:14:37 -05:00
Charles Betros
8937b5c11a Merge branch 'master' of https://github.com/CosmosOS/Cosmos.git 2016-03-13 12:49:12 -05:00
Charles Betros
0bef9a8fac Updating solution config. 2016-03-13 12:27:58 -05:00
fanoI
35583c657a Merge branch 'master' of https://github.com/CosmosOS/Cosmos
# Conflicts:
#	Demos/Guess/GuessOS.cs
#	Tests/Cosmos.Compiler.Tests.Bcl/Kernel.cs
#	source/Cosmos.System.Plugs/Cosmos.System.Plugs.csproj
2016-03-07 21:23:11 +01:00
Charles Betros
4a3b6a50df Fixed up project and solution configurations and remove jetbrains annotations. 2016-03-06 17:33:21 -06:00
Charles Betros
c12022c893 Got constrained callvirt working. 2016-03-05 23:56:27 -06:00