Commit graph

61 commits

Author SHA1 Message Date
fanoI
db5b713090 CGS is finally ready to be used! Let's merge it...
- To solve the slowness of the MemoryBlock Fill() method when the block has a big size I've created a new class for this MemoryOperations that for now contains only the method Fill() with a part implemented in ASM and with some overloads to semplify its usage from managed code. In future in this class will be added other methods to operate fast on memory for example Cmp() and Copy().
- Adding (not passing) test of the Color struct to the BoxingTest kernel
- Removed BoxingTest kernel inside BCL test: it was a duplicate of the BoxingTest kernel
- Restored correct TestKernelSets
- In the CGS Test kernel the last rectangle is now LimeGreen instead of another type of red (more clear that is working correctly)
- Added to X# the generation of the instruction Shuftps
- Added to X# the generation of the instruction MoveUPS
- Modified Guess Demo to wait for a key press to terminate (it closed suddenly in case the number was guessed)
- The VBE IOMemoryBlock has again size of 1920x1200 (the max usable)
- Added CGS Demo
- Code clean up
2017-03-05 20:32:55 +01:00
José Pedro
91094a87ca Fix MemberwiseClone.
Fix object sizes in Newobj.
Minor changes in Castclass and VTablesImpl.
2016-11-16 23:49:37 +00:00
José Pedro
39ea6ee678 Fixed return on foreach
Fixed Array.Clear
Minor changes
2016-11-09 00:08:23 +00:00
Charles Betros
4beeee98ab Enable some tests and small change to fat allocation. 2016-11-03 14:02:44 -05:00
Charles Betros
a887cf87a0 Foreach tests. 2016-11-02 13:34:26 -05:00
Charles Betros
04ca044e34 Add array copy test. 2016-11-02 04:36:13 -05:00
fanoI
a277900369 - Fixed ldarga so it will work again with types > bytes
- Fixed typos on DoubleTest
- Restored GetNumberString() as it was on my commit of the end of August
2016-10-10 21:43:38 +02:00
José Pedro
1d6c9ecae8 Tests fixes and minor changes 2016-10-02 18:59:11 +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
Charles Betros
71dfaac745 Merge from master 2016-09-07 19:24:30 -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
b16b034ff9 Restored Int32 tests and added another concat test to String. 2016-08-24 14:21:18 +02:00
fanoI
709741d569 Added file DictionaryTests.cs with preliminary not passing test of Dictionary BCL class 2016-08-22 17:18:40 +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
Charles Betros
3f47a50ea0 Comment failing tests. 2016-08-18 23:29:03 -05: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
790ba2312c Added test for conversion to float to ulong 2016-07-03 19:28:13 +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
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
3bc4ea78dd Some basic improvements. 2016-06-23 16:36:08 -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
Matthijs ter Woord
8880f00892 Fix tests. 2016-06-17 08:46:28 -04:00
Charles Betros
b7809b0215 Fix string in the debugger locals and fix string test in bcl. 2016-06-16 22:02:12 -05:00
Michael VanOverbeek
843131515a Added SubString to string tests. (#382)
* Added ZMachine demo stuff to cosmos sln

* Changed references in frotz kernel to project references

* added substring test to string tests.

* Added more string tests

Added String.Split and $ tests.

* Added more string tests.

* Removed un-needed Substring project.
2016-06-16 21:39:44 -05:00
Matthijs ter Woord
d1447458af Implement Object.MemberwiseClone 2016-06-14 13:51:16 -04:00
Matthijs ter Woord
0201b140e8 Add tests for while loops. 2016-06-10 11:09:05 -04:00
Matthijs ter Woord
f17ac8e797 Add test for Int64.Parse 2016-06-08 18:15:57 -04: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
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
bf6f97756a Fixed create directory and directory exists. 2016-05-11 22:36:00 -05:00
fanoI
66a834bbce Added Bitconveter test of floats (that have success!) 2016-03-31 01:21:24 +02:00
fanoI
cc9d349b12 - Added Bitconverter tests (fails for Double)
- Added to tests of Long and Ulong conversion between them
2016-03-30 22:04:02 +02:00
Charles Betros
b283a07631 Update .net versions. 2016-03-13 20:42:09 -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
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
fanoI
2c745389fe Trying to Plug GetHashCode() for all ValueTypes. 2016-02-28 22:39:20 +01:00
fanoI
f167ae91e6 Added a lot of tests for Primitive Types there a lot of failure for compiler bug or native methods that need to be implemented. Indeed the commited version is not compiling for GetHashCode() that cannot be plugged... 2016-02-28 16:32:25 +01: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