Commit graph

408 commits

Author SHA1 Message Date
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
fanoI
eb533357b0 - Correctly plugged Enum's GetHashCode()
- Removed GetHashCode() methods that were not really needed
- Plugged class CultureInfo for GetHashCode()
- Plugged class Runtime.CompilerServices for GetHashCode()
- Plugged class RuntimeTypeImpl for GetHashCode()
- Fixed tests that were failing using true .NET GetHashCode()
- Fixed IL Interpreter added SHIFT, AND, XOR... for sbyte and short
2016-03-05 23:10:06 +01:00
Charles Betros
559ee8570a Filesystem work. 2016-03-02 15:57:53 -06:00
fanoI
2c745389fe Trying to Plug GetHashCode() for all ValueTypes. 2016-02-28 22:39:20 +01:00
Charles Betros
5b35e17502 Fixed Path 2016-02-25 12:00:06 -06:00
Charles Betros
043cbb2f19 Fixed path plugs 2016-02-25 11:56:30 -06:00
Charles Betros
1f104d812b Revert "Added some globalization and culture plugs. Also added string and struct tests."
This reverts commit 815f2f78a4.
2016-02-21 10:16:00 -06:00
Charles Betros
815f2f78a4 Added some globalization and culture plugs. Also added string and struct tests. 2016-02-21 10:13:29 -06:00
Charles Betros
f5468fe2b0 Path mostly works. Added a bunch of exception strings to environment. 2016-02-15 22:35:08 -06:00
Charles Betros
ba6070dbe7 String and simple debugger change 2016-02-15 16:02:23 -06:00
Charles Betros
6f50b73386 Changed build configuration 2016-02-15 01:29:03 -06:00
Charles Betros
b6d95e1668 Plugged a bunch of classes and implemented a few ilops. Removed most of Path plugs. 2016-02-14 13:07:26 -06:00
Charles Betros
98d8336882 Fixed TraceAssemblies 2016-01-16 12:53:37 -06:00
Charles Betros
2ec375e1c8 Fixed unbox and unbox_any. Also added interfaces to the branch ops. Added checks in assembler for duplicate methods. Added a few more exception message resource strings. 2016-01-04 21:42:56 -06:00
Charles Betros
438ac960c1 Closes #11 2015-12-31 15:25:10 -06:00
Charles Betros
3c52efaac6 Reorganized some plugs 2015-12-26 18:04:58 -06:00
Charles Betros
1a2ed6b720 Fixed speed issue with the heap. 2015-12-18 12:28:24 -06:00
Charles Betros
c01f5f1048 Reorganizing plugs. 2015-12-18 08:08:49 -06:00
Charles Betros
4e08b03a8a Closes #271. Added an option for stack corruption detection. Checks can now occur after every instruction or for method footers ornly. 2015-12-17 00:15:51 -06:00
Charles Betros
fd54c66225 Reworked fat file system. Added conditionals for debug output. Implemented some System.IO plugs. 2015-11-26 11:45:58 -06:00
Charles Betros
417df82cf7 Handle stelem for unsigned types. 2015-11-24 11:38:57 -06:00
charles.betros@gmail.com
f23d8207ab Merge branch 'master' of https://github.com/CosmosOS/Cosmos.git 2015-11-20 23:52:57 -06:00
charles.betros@gmail.com
31684c15d6 Working on FAT and create directory. 2015-11-20 23:52:08 -06:00
Matthijs ter Woord
c85d42162b Merge pull request #259 from rebizu/master
fixing #254
2015-11-18 08:39:00 +01:00
Rebizu
4dd59188fa fixes #254 2015-11-17 20:14:49 +01:00
charles.betros@hcss.com
ef181b4ee5 Set the parent directory to root if it's null. 2015-11-16 11:30:28 -06:00
charles.betros@hcss.com
d46bf5dd09 File system work. 2015-11-16 09:15:38 -06:00
Matthijs ter Woord
b7021b8fc1 Seems like compiler bug is fixed now. 2015-11-07 11:37:18 +01:00
Matthijs ter Woord
d5a1c54636 Another reformat 2015-11-07 10:22:33 +01:00
Matthijs ter Woord
6f9fcec90a Reformat code, and add settings to editorconfig file. 2015-11-07 10:16:09 +01:00
Matthijs ter Woord
7d13293011 Add editorconfig file 2015-11-06 20:37:00 +01:00
Matthijs ter Woord
4ffeeae278 Compiler bug fixed. 2015-11-06 09:03:00 +01:00
Charles Betros
7565bb6a30 Exceptions were causing stack corruptions. 2015-11-04 22:31:38 -06:00
Charles Betros
d2ee8be699 Clean up extra stack after an exception. 2015-11-03 14:08:42 -06:00
Matthijs ter Woord
34c46c2c73 Refactor, so find references is easier to use. 2015-11-02 17:22:56 +01:00
Matthijs ter Woord
ac2a505f77 Merge branch 'master' of https://github.com/CosmosOS/Cosmos 2015-11-02 11:37:22 +01:00
Matthijs ter Woord
f9c6edf4f9 Add comment. 2015-11-02 11:37:08 +01:00
Charles Betros
48a145d45d Ldarg was printing its label twice. 2015-10-31 20:44:05 -05:00
Matthijs ter Woord
cd7f5e572a Slight improvement of stack corruption checking code. 2015-10-24 13:19:34 +02:00
Matthijs ter Woord
3e5dd5f34b Ongoing work. 2015-10-04 15:58:17 +02:00
Matthijs ter Woord
3fb0e6622d Progress on fat. 2015-10-04 11:53:03 +02:00
Matthijs ter Woord
8e35d79602 Reading almost fixed. 2015-10-02 19:39:56 +02:00
Matthijs ter Woord
6e2dda177f Ongoing fixes for file system work. 2015-10-02 17:59:06 +02:00
Matthijs ter Woord
d9a9737608 Filesystem/VFS/FAT work by @charlesbetros has been merged into main kernel.
This does NOT mean it's fully working yet!
2015-10-02 17:12:00 +02:00
Matthijs ter Woord
27286f0b33 Continuing fixes. 2015-09-05 18:18:23 +02:00
Matthijs ter Woord
44690293e8 Delegates issue solved., 2015-09-05 18:11:20 +02:00
Matthijs ter Woord
4769cb2ce6 Fixes for delegates. 2015-09-04 17:51:45 +02:00
Matthijs ter Woord
0f21a8059f Refactoring and more fixes to plug. 2015-09-04 13:32:23 +02:00
Darnell Williams
19932b4a5b Array plug fixes for memory handles 2015-08-31 03:41:47 -04:00
Matthijs ter Woord
4f945b11ce Disable vmt debug code. 2015-08-31 08:39:36 +02:00
Matthijs ter Woord
0b5490a281 Ongoing changes. 2015-08-18 20:19:36 +02:00
Matthijs ter Woord
e030f5b850 Progress. 2015-08-05 17:32:32 -04:00
Matthijs ter Woord
2762604cbc More progress 2015-08-05 14:58:57 -04:00
Matthijs ter Woord
1d9c648691 Seem to be there. Merging follows. 2015-08-02 09:46:47 -04:00
Matthijs ter Woord
ac674008e4 More compiler fixes for new memory model. 2015-08-01 14:52:14 -04:00
Matthijs ter Woord
d2db318dc1 Progress. Most stuff seems to work now. 2015-08-01 13:48:25 -04:00
Matthijs ter Woord
422d6a56b8 Starting to work now. 2015-08-01 09:22:35 -04:00
Matthijs ter Woord
f54d7ace72 More progress 2015-08-01 09:04:35 -04:00
Matthijs ter Woord
4274bc52ac More progress. 2015-07-31 13:11:51 -04:00
Matthijs ter Woord
73758c2643 Ongoing memory work. 2015-07-31 12:46:07 -04:00
Matthijs ter Woord
be0ace5c62 - Turns out the VMT table was not generated correctly: the _Handle datamember wasn't pointing to the actual data area
- small bugfix in heap.
2015-07-31 11:51:27 -04:00
Matthijs ter Woord
675ce71d10 Ongoing work. 2015-07-31 08:34:28 -04:00
Matthijs ter Woord
630118f4c9 Fixed an issue with VMT initialization. 2015-07-29 20:13:40 -04:00
Matthijs ter Woord
e91b500738 . 2015-07-29 18:58:42 -04:00
Matthijs ter Woord
7a35344202 More work on memory 2015-07-29 15:35:47 -04:00
Matthijs ter Woord
d6167d6e00 - Add extra logging to GlobalSystemInfo and Heap
- Fixed ldstr and string sending with memory handles
2015-07-29 10:44:52 -04:00
Matthijs ter Woord
7858e43584 Ongoing work on memory 2015-07-28 20:18:14 -04:00
Matthijs ter Woord
b56ce24f52 Merge branch 'master' into memory_handles
Conflicts:
	Tests/Cosmos.TestRunner.Core/DefaultEngineConfiguration.cs
2015-07-28 16:30:05 -04:00
Matthijs ter Woord
fa4da67ff0 Ongoing debugger work. 2015-07-28 11:51:11 -04:00
Matthijs ter Woord
c1c3782770 Code reformat 2015-07-26 19:04:07 -04:00
Matthijs ter Woord
16f3dab45a I think the default Heap allocates handles now. 2015-07-26 18:37:09 -04:00
Charles Betros
2e4e0dd370 Added a test kernel for boxing.
Moved Char Plug to Cosmos.System.Plugs
Added FAT writing. (Doesn't work yet.)
2015-07-24 17:52:44 -05:00
Matthijs ter Woord
66d1597746 . 2015-07-23 16:48:34 -04:00
Matthijs ter Woord
ae4600a0ee Compilation seems fixed now. Still testing debugger. 2015-07-23 12:33:58 -04:00
Matthijs ter Woord
c340812392 Stack corruption bug is fixed now. Now still need to fix tests. 2015-07-23 12:24:54 -04:00
Matthijs ter Woord
c80eb38c8a Reformat 2015-07-23 12:04:48 -04:00
Matthijs ter Woord
9171a3de35 . 2015-07-23 11:58:30 -04:00
Matthijs ter Woord
1154900a9b Ongoing fixes 2015-07-23 11:26:39 -04:00
Matthijs ter Woord
67f06011e0 Implement simple branching for 8-byte operands. 2015-07-22 21:39:18 -04:00
Matthijs ter Woord
d827212e4a Ongoing VS2015 work. 2015-07-22 21:23:55 -04:00
Matthijs ter Woord
befe55c72b Add local and argument info on plugged method. argument info is handy there (locals not so much) 2015-07-18 02:19:28 +02:00
CSharpLover
9911ada17a Update links for github 2015-07-04 18:24:31 +03:00
Matthijs ter Woord
732a3e2a3a More fixes to stack reservation. We were assuming that there was space reserved for return value, while it shouldn't in all cases. 2015-07-04 12:46:28 +02:00
Matthijs ter Woord
cba227747b Reformat code 2015-07-03 20:49:46 +02:00
Matthijs ter Woord
8eaee43bc0 Small compiler fix. 2015-07-01 20:28:31 +02:00
Matthijs ter Woord
f2f539eebb Now the rings check also makes sure the kernel dll is ring User. 2015-07-01 19:47:21 +02:00
Matthijs ter Woord
cb5aae2c00 Ongoing adding of tests, fixing of IL interpreter. 2015-06-27 18:33:52 +02:00
Matthijs ter Woord
09e9a3abcb Ongoing fixes. 2015-06-27 18:07:58 +02:00
Matthijs ter Woord
e80a1d6d07 Fixes #137 2015-06-27 18:05:12 +02:00
Matthijs ter Woord
68282aa557 Keyboard works. Next is enabling code that should be enabled, and removing debug code. 2015-06-17 20:09:37 +02:00
Matthijs ter Woord
44cdc7dc61 Other fixes. 2015-06-16 18:35:46 +02:00
Matthijs ter Woord
a8d39ced64 Fix ldelem for non-4 byte aligned elements. 2015-06-07 17:17:32 +02:00
Matthijs ter Woord
7c991e5ca6 Improve IL interpreter. Ldobj knows what type it pushes. 2015-06-07 17:17:16 +02:00
Matthijs ter Woord
bd93b5e272 Fix some IL interpreter logging statements and other small debugging fixes. 2015-06-07 17:17:01 +02:00
Matthijs ter Woord
56edbce9b6 Merge remote-tracking branch 'origin/master' into keyboard-work 2015-06-07 12:39:13 +02:00
Matthijs ter Woord
63d83a683d Fix int64 divide. 2015-06-07 12:37:02 +02:00
Matthijs ter Woord
32a41216f7 . 2015-05-27 18:36:58 +02:00
Matthijs ter Woord
c205ec054d Merge master. 2015-05-27 18:36:40 +02:00
Matthijs ter Woord
11e8b95b9c Merge remote-tracking branch 'origin/ldelem-fixes' 2015-05-26 19:57:42 +02:00
Matthijs ter Woord
da1feb890a Fixes to ldelem. Fixes #119 2015-05-26 19:56:54 +02:00
Andrey Kurdyumov
c26d29d113 Use shared code where possible 2015-05-26 22:42:47 +06:00
Geramy L. Loveless
548a71a4fb Fixed compile error
I have fixed the compiler error.
We called Assemble twice causing the compilation of two of the same
instruction sets.
2015-05-25 22:51:08 -07:00
Matthijs ter Woord
0af76c627e Initial fix for #119. This doesn't work yet. 2015-05-25 20:03:33 +02:00
Matthijs ter Woord
6cadd58f24 Small fix to editorconfig 2015-05-25 19:57:21 +02:00
Matthijs ter Woord
dd93b7d2b9 Initial keyboard work. Does not work due to bug in the compiler. (Ldelem_ref) 2015-05-24 16:33:21 +02:00
Matthijs ter Woord
243417857e Add plug for UIntPtr.ToString 2015-05-22 17:20:35 +02:00
zdimension
bd9bf0884c Update AppAssemblerRingsCheck.cs 2015-05-22 13:41:20 +02:00
zdimension
03e4266a3b Added Console colors to the Cosmos.System.Console class and modified the plugs calls. Now Console.ForegroundColor and Console.BackgroundColor are working again! 2015-05-22 13:37:08 +02:00
Matthijs ter Woord
bfe5d73ba2 Several compiler fixes. 2015-05-10 19:04:20 +02:00
Matthijs ter Woord
37b2451193 A little bit code documentation 2015-05-10 15:34:23 +02:00
Matthijs ter Woord
906b554f17 Re-enable the ExceptionOccurred label. 2015-05-10 15:31:31 +02:00
Matthijs ter Woord
8268084c23 Compilation fix. 2015-05-09 11:15:32 +02:00
Matthijs ter Woord
08f62aa561 Merge pull request #56 from kant2002/Issue-9
Compilation improvements.
2015-05-08 19:50:06 +02:00
Matthijs ter Woord
1c22489404 Merge pull request #78 from kant2002/vs2015
Support for Vs2015
2015-05-08 19:42:38 +02:00
Andrey Kurdyumov
e8de8ad44d Update Mono.Cecil to 0.9.6.1
Nuget used for delivering dependencies
2015-05-08 22:40:52 +06:00