Permalink
Browse files

Fixed various minor bugs in the way FogTest cleanup was handled -- al…

…l tests now clean up after themselves.
  • Loading branch information...
1 parent 9b804d7 commit 57b6ddc1c22a3545a29086922d0408b408beb5ae @martinmcclure committed Oct 5, 2012
View
4 ...s.class/instance/cleanupForExecutable..st → ...Tests.class/instance/cleanupExecutable.st
@@ -1,7 +1,7 @@
support
-cleanupForExecutable: filename
+cleanupExecutable
FileDirectory default
deleteFileNamed: filename;
deleteFileNamed: filename , '.stdin';
deleteFileNamed: filename , '.stdout';
- deleteFileNamed: filename , '.stdErr'
+ deleteFileNamed: filename , '.stderr'
View
5 packages/Mist.package/FogTests.class/instance/compileAndRun.withInput.expectingOutput..st
@@ -1,6 +1,6 @@
running
compileAndRun: program withInput: providedString expectingOutput: expectedString
- | filename stdin process |
+ | stdin process |
filename := thisContext sender selector asString.
stdin := StandardFileStream forceNewFileNamed: filename , '.stdin'.
stdin
@@ -13,5 +13,4 @@ compileAndRun: program withInput: providedString expectingOutput: expectedString
reset;
upToEnd)
equals: expectedString.
- self assert: process exitStatus \\ 256 equals: 0.
- self cleanupForExecutable: filename
+ self assert: process exitStatus \\ 256 equals: 0
View
7 packages/Mist.package/FogTests.class/instance/tearDown.st
@@ -1,5 +1,4 @@
-running
+support
tearDown
-
- (FileDirectory default fileNamesMatching: '*.stdin;*.stdout;*.stderr') do: [:fn |
- FileDirectory default deleteFileNamed: fn].
+ super tearDown.
+ self cleanupExecutable
View
3 packages/Mist.package/FogTests.class/instance/testConsume1.st
@@ -4,8 +4,9 @@ testConsume1
Exit code is the numerical value of the character read.."
| program process stdin |
+ filename := 'testConsume1'.
program := FogTests consume1.
- stdin := StandardFileStream forceNewFileNamed: 'testEcho1.stdin'.
+ stdin := StandardFileStream forceNewFileNamed: filename , '.stdin'.
stdin
nextPutAll: 'f';
flush.
View
1 packages/Mist.package/FogTests.class/instance/testFortyTwo.st
@@ -1,6 +1,7 @@
tests
testFortyTwo
| program process |
+ filename := 'testFortyTwo'.
program := FogTests fortyTwo.
process := self compileAndRun: program.
self assert: process exitStatus \\ 255 = 42
View
1 packages/Mist.package/FogTests.class/instance/testThreePlusFour.st
@@ -1,6 +1,7 @@
tests
testThreePlusFour
| program process |
+ filename := 'testThreePlusFour'.
program := FogTests threePlusFour.
process := self compileAndRun: program.
self assert: process exitStatus \\ 255 = 7
View
12 packages/Mist.package/FogTests.class/methodProperties.json
@@ -8,19 +8,19 @@
"printH" : "MartinMcClure 9/13/2012 17:01",
"threePlusFour" : "MartinMcClure 9/13/2012 16:58" },
"instance" : {
- "cleanupForExecutable:" : "MartinMcClure 9/28/2012 22:57",
+ "cleanupExecutable" : "MartinMcClure 10/4/2012 20:06",
"compile:andRun:stdin:" : "MartinMcClure 9/28/2012 22:58",
"compile:andWriteTo:" : "MartinMcClure 9/28/2012 21:11",
"compileAndRun:" : "tfel 9/6/2012 16:27",
"compileAndRun:stdin:" : "tfel 9/6/2012 16:25",
- "compileAndRun:withInput:expectingOutput:" : "MartinMcClure 9/28/2012 22:58",
+ "compileAndRun:withInput:expectingOutput:" : "MartinMcClure 10/4/2012 19:59",
"execute:withStdin:" : "tfel 9/12/2012 16:34",
- "tearDown" : "tfel 9/6/2012 16:04",
- "testConsume1" : "MartinMcClure 9/13/2012 17:10",
+ "tearDown" : "MartinMcClure 10/4/2012 20:06",
+ "testConsume1" : "MartinMcClure 10/4/2012 20:04",
"testEcho1" : "MartinMcClure 9/17/2012 10:46",
- "testFortyTwo" : "MartinMcClure 9/13/2012 17:05",
+ "testFortyTwo" : "MartinMcClure 10/4/2012 20:08",
"testIsB" : "MartinMcClure 9/17/2012 10:48",
"testPrint7" : "MartinMcClure 9/17/2012 10:44",
"testPrintH" : "MartinMcClure 9/17/2012 10:45",
- "testThreePlusFour" : "MartinMcClure 9/13/2012 17:02",
+ "testThreePlusFour" : "MartinMcClure 10/4/2012 20:08",
"waitForProcess:" : "tfel 9/12/2012 16:34" } }
View
2 packages/Mist.package/FogTests.class/properties.json
@@ -6,7 +6,7 @@
],
"commentStamp" : "",
"instvars" : [
- ],
+ "filename" ],
"name" : "FogTests",
"pools" : [
],
View
2 packages/Mist.package/monticello.meta/version
@@ -1 +1 @@
-(name 'Mist-MartinMcClure.64' message 'Fog conditionals are now complete! Both conditional and unconditional jumps now work. FetchByte was leaving garbage in the upper bytes of the result 64-bit word. Fixed some comments. Fixed the indexing used by FetchByte, which was indexing by 8s instead of by 1s. Disassembler now handles the added instructions.' id 'bc1c70b8-211a-4ecb-925c-7c07f294e62a' date '29 September 2012' time '12:38:38.213 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.63' message 'Much closer to getting conditionals to work. CodeStream now understands labels, which do not have to be defined when referenced, allowing one-pass compilation. The address to compile to is now kept track of. CodeStream can now assemble jmp and jcc instructions. The ability to disassemble jmp and jcc instructions is underway.' id '63e3231d-bc78-4b73-ab48-0be0aef5ccb3' date '28 September 2012' time '11:40:04.273 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.62' message 'Fixed a bug in register allocation that was exposed by the isB test case. Cleanup, removed: extraneous disassembly from FogTests, no-longer-used AnyLocation, some unused methods. The isB test was fetching and storing a 64-bit word instead of a byte. There wasn''t a way to fetch a byte, there is now. More progress towards getting the Compare and Conditional nodes working. Fixed/enhanced some code comments. ' id 'db550960-9491-42e5-9e5d-378795276716' date '28 September 2012' time '9:04:50.831 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.61' message 'isB test mistakenly accessed bufPtr when it was not in scope. Conditional and Compare Fog nodes can now be created and printed, but not yet compiled.' id '0c58539b-9c84-40f8-919e-6bb41279c7c2' date '22 September 2012' time '10:10:37.595 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.60' message 'Added a broken test for Fog conditionals, refactored tests a bit to make running the program multiple times with different input easier.' id 'ded28fbb-6e30-478e-bf48-de9a6f1051f2' date '17 September 2012' time '10:51:07.377 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.59' message 'Added disassembler tests, one disassembling each of the Fog test programs.' id 'ccc14fb0-20fb-47d0-9236-793fee34dc0d' date '13 September 2012' time '5:36:11.64 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.58' message 'Factored test programs into separate methods from the tests.' id '8dc835b6-78dd-4b92-bf8c-7167885c4f3e' date '13 September 2012' time '5:13:35.821 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.57' message 'Commented out breakpoints in tests. Removed one unused class variable, moved another to the specific subclass where it''s used.' id '17ad9220-3495-43b7-93a6-cf8b96f51726' date '13 September 2012' time '3:57:48.636 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.56' message 'Disassembler now handles addressing modes with signed displacments, and can disassemble the code from all extant Fog tests. Woohoo!' id '8bdbf2ce-c4a7-401c-9ef3-1a842e98b847' date '12 September 2012' time '5:20:45.804 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.55' message 'Disassembler now handles memory addressing modes (without displacements for now) which allows the print7 test to disassemble.' id '7e2947fa-a692-4e87-987a-3dfc74bbe664' date '11 September 2012' time '3:58:09.831 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.54' message 'Disassembler operand handling the new way has advanced to handling normal register operands, allowing the threePlusFour and printH tests to disassemble.' id '713a041b-ad0a-44e1-a98a-0fe55e94f17f' date '10 September 2012' time '7:46:07.143 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.53' message 'Disassembler significant refactor - phase 1. The only test known to disassemble correctly at this point is fortyTwo. Some artifacts of the Old Way are still present. Realized that the existing organization wouldn''t handle instructions requiring a SIB byte. To handle this made operands first-class objects and gave them responsibilities formerly handled by DisassemblerInstruction. Also better allowed for varying effective operand sizes.' id 'c2c9d846-3419-4dd9-9659-e407ae6e4a0b' date '10 September 2012' time '12:12:00.088 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.51' message 'Disassembling the threePlusFour test now works.' id 'df3ce270-f930-4ba9-813f-616077a54720' date '3 September 2012' time '6:02:53.68 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.50' message 'Most opcode actions in the primary opcode map were incorrect due to the same action appearing at multiple indices. Added nicer printing to opcode actions.' id '80228ccb-9a4a-4095-8fe9-89371a9dc4de' date '3 September 2012' time '3:53:23.266 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.49' message 'Disassembler now works on the test case forty-two.' id '28f20590-e390-49be-bf8f-baceec80b9dd' date '2 September 2012' time '11:25:30.454 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.47' message 'Removed dependency on OMeta disassembler' id 'd717313f-f061-4397-98fa-b761b5c39efd' date '12 August 2012' time '10:10:04.956 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.46' message 'Removed dependency on PetitParser ' id 'bd3762f8-f879-4e6a-aa2c-33dfb992c7a3' date '12 August 2012' time '9:16:59.068 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.45' message 'Should be same as 44-- start of table-based disassembler.' id '1630d7d4-8684-4ebf-aa02-934a313bf6c2' date '12 August 2012' time '8:57:40 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.44' message 'Beginnings of table-based disassembler, work done on Biloxi trip.' id 'f5de3af6-3580-4022-8f11-dc28edef36b0' date '9 August 2012' time '8:55:55 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.43' message 'First cut at porting the disassembler to PetitParser from Monticello. Not very complete; about to be replaced by a different approach, still using PP.' id 'bbbe194b-50b6-4ed8-83e3-c90c4e8ce39b' date '6 January 2012' time '8:36:50 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.42' message 'Corrected a test comment; removed a self halt.' id '67607f93-a146-4f88-b06a-2fdf09740d62' date '27 November 2011' time '10:26:26 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.41' message 'Consume1 test now restores the terminal canonical mode and echo before terminating, and exits with an exit code of the character read. Added an Or node.' id '80a45719-2607-4122-9dd5-6e3396ebe0a8' date '6 November 2011' time '9:45:08 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.40' message 'The consume1 test now works, except for the disassembler. To do this: * Stack temps are now supported, not just register temps. * Fetches and stores are now done with base and index registers -- this also affects the print7 test.' id '0d6a65dc-6903-41ca-bda6-0a07aa6d4e22' date '6 November 2011' time '4:59:21 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.39' message 'Further fix to load-time class initialization.' id '00fc01e1-ddd8-4e53-a93d-338300dd18c5' date '23 September 2011' time '1:07:03 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.38' message 'Fixes to class-side initialization.' id '5debd2f0-83b4-43bc-b794-bd6465da8a13' date '23 September 2011' time '12:54:12 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.37' message 'Many changes and reorganizations of register allocation and such. Not fully working yet in the new form; print7 works but is emitting at least one more mov than I think it should need to.' id '08000000-1508-e40d-1508-e40d14000000' date '26 August 2011' time '7:17:11 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.36' message 'Reassigned which registers are scratch; added scratch registers to ownClobbered.' id '0fe8b55e-4a90-4d8d-b67f-f4f47d50524e' date '14 January 2011' time '11:28:14 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.35' message 'Reworked Fog node printing. Some small progress towards getting memory store and fetch nodes.' id '74c03388-decd-44a2-a083-92452306a11d' date '8 January 2011' time '4:38:57 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.34' message 'Test echo1 written and running. Only new syscall read required.' id 'db401e47-0cb9-44b5-b97e-500a99763002' date '1 January 2011' time '11:37:52 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.33' message 'The print7 test now works, so declared variables and byte store are at least basically working.' id '5360bacd-c7c1-4cc4-83db-d129eba0637b' date '31 December 2010' time '10:55:50 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.32' message 'More progress towards declared variables and the print7 test.' id '3b8b04f9-f736-4ac3-9776-5fc7055c4686' date '27 December 2010' time '10:09:11 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.31' message 'Work on declared variable handling, mmap syscall, print7 test.' id '314c69d6-4af3-4bc9-b972-00b89ee4cb2a' date '26 December 2010' time '10:12:18 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.30' message 'Write syscall added, printH test added to test it. Breakpoint node type added. Refactored boilerplate out of Fog tests.' id '74c2ac38-b29c-4785-a5ad-41d319126f9a' date '18 December 2010' time '10:16:30 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.29' message 'Disassembler now outputs address and bytes on each line.' id '355008eb-f70e-4b07-ad83-87402a2872fa' date '17 December 2010' time '9:10:03 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.28' message 'threePlusFour now works!' id 'ef5092dc-0c0d-4778-9fe8-0461d75d8f68' date '21 November 2010' time '10:07:40 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.27' message 'Deleted some unused methods' id '0ac3f411-5750-42e1-b8d5-830b66e3a41b' date '20 November 2010' time '10:14:19 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.26' message 'fortyTwo test is working again.' id 'aba984fc-08e7-4ac4-827f-0b3f7236f5e4' date '20 November 2010' time '9:18:26 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.25' message 'Pass 1 may just be working again for fortyTwo test case.' id 'b335cda6-e15d-4f6a-bd75-5ffc94292b62' date '19 November 2010' time '10:26:58 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.24' message 'Progress towards making implicit variables more responsible for choosing their location.' id 'af7a23c6-2f61-4bc3-9d8f-69fcf2cdeb0a' date '18 November 2010' time '8:31:40 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.23' message 'More work towards getting nodes to create themselves with implicit variables interposed between...' id '3cd29deb-74f1-4da4-a8d9-de24481e7626' date '15 November 2010' time '10:19:17 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.22' message 'Messy early steps toward reorganizing the Fog compiler to put more responsibility for location allocation onto the implicit variables.' id '2f227500-076f-48cb-a802-47a6ba04b892' date '10 November 2010' time '8:18:41 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.21' message 'More work on destructive ops.' id '2633a3ee-12ef-4090-abe0-7dadc995b641' date '28 October 2010' time '10:10:34 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.20' message 'Some fixup work on creation of and register allocation for destructive op nodes.' id '4924024e-adbf-4e5e-a375-7f39b7e99dce' date '27 October 2010' time '10:04:03 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.19' message 'A little more work towards Fog addition.' id '1cd40818-86a5-4ce7-8f9b-f5566639fe61' date '24 October 2010' time '10:35:42 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.18' message 'Work on variable assignment for destructive ops.' id '52a1c9ba-6bc5-4d7c-8c79-41e1f5ad923f' date '21 October 2010' time '10:13:20 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.17' message 'Fixed the disassembler.' id '7f7a76ff-4622-4851-b1a8-b5c39f778038' date '20 October 2010' time '8:16:45 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.16' message 'Added an OMeta-based disassembler that disassembles the forty-two program, but not quite correctly yet.' id 'ece28ab7-b687-4138-8fb4-170c068051b6' date '19 October 2010' time '10:08:48 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.15' message 'Milestone reached: First Fog program (forty-two) compiled and executed correctly!' id '1a4e6eb0-00a5-4efa-a70a-b4bbde9772f4' date '17 October 2010' time '10:51:01 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.14' message 'To at least the point of the simple forty-two program, register assignment is working.' id '40f622f4-8b4d-4135-870f-d8e60e8e174e' date '17 October 2010' time '11:53:22 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.13' message 'Now assigning, but not honoring input constraints even when it could.' id '5b5512d4-7e85-442a-a4d1-4abc2dd32bf4' date '16 October 2010' time '12:35:08 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.12' message 'Getting closer to actually having a minimally functioning pass 1 compiler.' id 'cfa553b6-f57e-4111-bfdb-66517468ef1b' date '15 October 2010' time '10:02:19 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.11' message 'Early work on locations and compiler class.' id '16a1ad22-ad75-4c3d-9c45-02bff3329e68' date '14 October 2010' time '9:14:15 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.10' message 'Filling in support for compile pass 1.' id '536a2b54-3b86-459f-85ea-a5158c2ad6fb' date '13 October 2010' time '9:41:08 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.9' message 'Finally getting somewhere with phase 1 of the Fog compiler.' id '81aebe58-0e62-4e73-be45-2e8a7695ed9d' date '12 October 2010' time '9:39:42 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.8' message 'A bit more progress on the compiler.' id '79050d76-e3d8-4e0e-a76a-da8c99069958' date '11 October 2010' time '9:49:14 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.7' message 'Not very good first start on the code generator.' id '5ced6c66-ea1e-4d65-afa1-7595736838b0' date '8 October 2010' time '9:07:39 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.6' message 'Renamed some stuff, added comments' id 'abfc6339-bbdf-4616-88ba-f5e4b0427c83' date '22 September 2010' time '8:10:35 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.5' message 'Renamed FogConstantNode to FogIntConstantNode' id 'ea831817-d6c7-4ee6-8c67-1dd6e0126d82' date '20 September 2010' time '9:42:45 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.4' message 'Added initial Fog node types, creation and printing.' id '9b2aaf3e-0d16-4f1a-93c1-33e7a7a08f54' date '16 September 2010' time '9:45:02 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.3' message 'Can now write the forty-two executable.' id '9c169a82-083d-4203-be44-76b3f78856bd' date '19 August 2010' time '8:03:20 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.2' message 'Stuff done on the plane back from S.F.' id '15b9d48f-9e25-4ec1-9b76-32c89c717f9f' date '18 August 2010' time '2:55:45 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.1' message 'Initial Empty version' id 'fabbf292-1522-42e4-8c2c-a3eab0627e8e' date '16 August 2010' time '11:04:01 am' author 'MartinMcClure' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())
+(name 'Mist-MartinMcClure.65' message 'Fixed various minor bugs in the way FogTest cleanup was handled -- all tests now clean up after themselves.' id 'ea4f801a-58c7-48d0-b598-260145e19742' date '4 October 2012' time '8:11:28.296 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.64' message 'Fog conditionals are now complete! Both conditional and unconditional jumps now work. FetchByte was leaving garbage in the upper bytes of the result 64-bit word. Fixed some comments. Fixed the indexing used by FetchByte, which was indexing by 8s instead of by 1s. Disassembler now handles the added instructions.' id 'bc1c70b8-211a-4ecb-925c-7c07f294e62a' date '29 September 2012' time '12:38:38.213 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.63' message 'Much closer to getting conditionals to work. CodeStream now understands labels, which do not have to be defined when referenced, allowing one-pass compilation. The address to compile to is now kept track of. CodeStream can now assemble jmp and jcc instructions. The ability to disassemble jmp and jcc instructions is underway.' id '63e3231d-bc78-4b73-ab48-0be0aef5ccb3' date '28 September 2012' time '11:40:04.273 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.62' message 'Fixed a bug in register allocation that was exposed by the isB test case. Cleanup, removed: extraneous disassembly from FogTests, no-longer-used AnyLocation, some unused methods. The isB test was fetching and storing a 64-bit word instead of a byte. There wasn''t a way to fetch a byte, there is now. More progress towards getting the Compare and Conditional nodes working. Fixed/enhanced some code comments. ' id 'db550960-9491-42e5-9e5d-378795276716' date '28 September 2012' time '9:04:50.831 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.61' message 'isB test mistakenly accessed bufPtr when it was not in scope. Conditional and Compare Fog nodes can now be created and printed, but not yet compiled.' id '0c58539b-9c84-40f8-919e-6bb41279c7c2' date '22 September 2012' time '10:10:37.595 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.60' message 'Added a broken test for Fog conditionals, refactored tests a bit to make running the program multiple times with different input easier.' id 'ded28fbb-6e30-478e-bf48-de9a6f1051f2' date '17 September 2012' time '10:51:07.377 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.59' message 'Added disassembler tests, one disassembling each of the Fog test programs.' id 'ccc14fb0-20fb-47d0-9236-793fee34dc0d' date '13 September 2012' time '5:36:11.64 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.58' message 'Factored test programs into separate methods from the tests.' id '8dc835b6-78dd-4b92-bf8c-7167885c4f3e' date '13 September 2012' time '5:13:35.821 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.57' message 'Commented out breakpoints in tests. Removed one unused class variable, moved another to the specific subclass where it''s used.' id '17ad9220-3495-43b7-93a6-cf8b96f51726' date '13 September 2012' time '3:57:48.636 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.56' message 'Disassembler now handles addressing modes with signed displacments, and can disassemble the code from all extant Fog tests. Woohoo!' id '8bdbf2ce-c4a7-401c-9ef3-1a842e98b847' date '12 September 2012' time '5:20:45.804 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.55' message 'Disassembler now handles memory addressing modes (without displacements for now) which allows the print7 test to disassemble.' id '7e2947fa-a692-4e87-987a-3dfc74bbe664' date '11 September 2012' time '3:58:09.831 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.54' message 'Disassembler operand handling the new way has advanced to handling normal register operands, allowing the threePlusFour and printH tests to disassemble.' id '713a041b-ad0a-44e1-a98a-0fe55e94f17f' date '10 September 2012' time '7:46:07.143 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.53' message 'Disassembler significant refactor - phase 1. The only test known to disassemble correctly at this point is fortyTwo. Some artifacts of the Old Way are still present. Realized that the existing organization wouldn''t handle instructions requiring a SIB byte. To handle this made operands first-class objects and gave them responsibilities formerly handled by DisassemblerInstruction. Also better allowed for varying effective operand sizes.' id 'c2c9d846-3419-4dd9-9659-e407ae6e4a0b' date '10 September 2012' time '12:12:00.088 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.51' message 'Disassembling the threePlusFour test now works.' id 'df3ce270-f930-4ba9-813f-616077a54720' date '3 September 2012' time '6:02:53.68 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.50' message 'Most opcode actions in the primary opcode map were incorrect due to the same action appearing at multiple indices. Added nicer printing to opcode actions.' id '80228ccb-9a4a-4095-8fe9-89371a9dc4de' date '3 September 2012' time '3:53:23.266 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.49' message 'Disassembler now works on the test case forty-two.' id '28f20590-e390-49be-bf8f-baceec80b9dd' date '2 September 2012' time '11:25:30.454 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.47' message 'Removed dependency on OMeta disassembler' id 'd717313f-f061-4397-98fa-b761b5c39efd' date '12 August 2012' time '10:10:04.956 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.46' message 'Removed dependency on PetitParser ' id 'bd3762f8-f879-4e6a-aa2c-33dfb992c7a3' date '12 August 2012' time '9:16:59.068 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.45' message 'Should be same as 44-- start of table-based disassembler.' id '1630d7d4-8684-4ebf-aa02-934a313bf6c2' date '12 August 2012' time '8:57:40 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.44' message 'Beginnings of table-based disassembler, work done on Biloxi trip.' id 'f5de3af6-3580-4022-8f11-dc28edef36b0' date '9 August 2012' time '8:55:55 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.43' message 'First cut at porting the disassembler to PetitParser from Monticello. Not very complete; about to be replaced by a different approach, still using PP.' id 'bbbe194b-50b6-4ed8-83e3-c90c4e8ce39b' date '6 January 2012' time '8:36:50 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.42' message 'Corrected a test comment; removed a self halt.' id '67607f93-a146-4f88-b06a-2fdf09740d62' date '27 November 2011' time '10:26:26 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.41' message 'Consume1 test now restores the terminal canonical mode and echo before terminating, and exits with an exit code of the character read. Added an Or node.' id '80a45719-2607-4122-9dd5-6e3396ebe0a8' date '6 November 2011' time '9:45:08 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.40' message 'The consume1 test now works, except for the disassembler. To do this: * Stack temps are now supported, not just register temps. * Fetches and stores are now done with base and index registers -- this also affects the print7 test.' id '0d6a65dc-6903-41ca-bda6-0a07aa6d4e22' date '6 November 2011' time '4:59:21 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.39' message 'Further fix to load-time class initialization.' id '00fc01e1-ddd8-4e53-a93d-338300dd18c5' date '23 September 2011' time '1:07:03 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.38' message 'Fixes to class-side initialization.' id '5debd2f0-83b4-43bc-b794-bd6465da8a13' date '23 September 2011' time '12:54:12 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.37' message 'Many changes and reorganizations of register allocation and such. Not fully working yet in the new form; print7 works but is emitting at least one more mov than I think it should need to.' id '08000000-1508-e40d-1508-e40d14000000' date '26 August 2011' time '7:17:11 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.36' message 'Reassigned which registers are scratch; added scratch registers to ownClobbered.' id '0fe8b55e-4a90-4d8d-b67f-f4f47d50524e' date '14 January 2011' time '11:28:14 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.35' message 'Reworked Fog node printing. Some small progress towards getting memory store and fetch nodes.' id '74c03388-decd-44a2-a083-92452306a11d' date '8 January 2011' time '4:38:57 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.34' message 'Test echo1 written and running. Only new syscall read required.' id 'db401e47-0cb9-44b5-b97e-500a99763002' date '1 January 2011' time '11:37:52 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.33' message 'The print7 test now works, so declared variables and byte store are at least basically working.' id '5360bacd-c7c1-4cc4-83db-d129eba0637b' date '31 December 2010' time '10:55:50 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.32' message 'More progress towards declared variables and the print7 test.' id '3b8b04f9-f736-4ac3-9776-5fc7055c4686' date '27 December 2010' time '10:09:11 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.31' message 'Work on declared variable handling, mmap syscall, print7 test.' id '314c69d6-4af3-4bc9-b972-00b89ee4cb2a' date '26 December 2010' time '10:12:18 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.30' message 'Write syscall added, printH test added to test it. Breakpoint node type added. Refactored boilerplate out of Fog tests.' id '74c2ac38-b29c-4785-a5ad-41d319126f9a' date '18 December 2010' time '10:16:30 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.29' message 'Disassembler now outputs address and bytes on each line.' id '355008eb-f70e-4b07-ad83-87402a2872fa' date '17 December 2010' time '9:10:03 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.28' message 'threePlusFour now works!' id 'ef5092dc-0c0d-4778-9fe8-0461d75d8f68' date '21 November 2010' time '10:07:40 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.27' message 'Deleted some unused methods' id '0ac3f411-5750-42e1-b8d5-830b66e3a41b' date '20 November 2010' time '10:14:19 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.26' message 'fortyTwo test is working again.' id 'aba984fc-08e7-4ac4-827f-0b3f7236f5e4' date '20 November 2010' time '9:18:26 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.25' message 'Pass 1 may just be working again for fortyTwo test case.' id 'b335cda6-e15d-4f6a-bd75-5ffc94292b62' date '19 November 2010' time '10:26:58 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.24' message 'Progress towards making implicit variables more responsible for choosing their location.' id 'af7a23c6-2f61-4bc3-9d8f-69fcf2cdeb0a' date '18 November 2010' time '8:31:40 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.23' message 'More work towards getting nodes to create themselves with implicit variables interposed between...' id '3cd29deb-74f1-4da4-a8d9-de24481e7626' date '15 November 2010' time '10:19:17 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.22' message 'Messy early steps toward reorganizing the Fog compiler to put more responsibility for location allocation onto the implicit variables.' id '2f227500-076f-48cb-a802-47a6ba04b892' date '10 November 2010' time '8:18:41 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.21' message 'More work on destructive ops.' id '2633a3ee-12ef-4090-abe0-7dadc995b641' date '28 October 2010' time '10:10:34 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.20' message 'Some fixup work on creation of and register allocation for destructive op nodes.' id '4924024e-adbf-4e5e-a375-7f39b7e99dce' date '27 October 2010' time '10:04:03 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.19' message 'A little more work towards Fog addition.' id '1cd40818-86a5-4ce7-8f9b-f5566639fe61' date '24 October 2010' time '10:35:42 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.18' message 'Work on variable assignment for destructive ops.' id '52a1c9ba-6bc5-4d7c-8c79-41e1f5ad923f' date '21 October 2010' time '10:13:20 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.17' message 'Fixed the disassembler.' id '7f7a76ff-4622-4851-b1a8-b5c39f778038' date '20 October 2010' time '8:16:45 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.16' message 'Added an OMeta-based disassembler that disassembles the forty-two program, but not quite correctly yet.' id 'ece28ab7-b687-4138-8fb4-170c068051b6' date '19 October 2010' time '10:08:48 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.15' message 'Milestone reached: First Fog program (forty-two) compiled and executed correctly!' id '1a4e6eb0-00a5-4efa-a70a-b4bbde9772f4' date '17 October 2010' time '10:51:01 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.14' message 'To at least the point of the simple forty-two program, register assignment is working.' id '40f622f4-8b4d-4135-870f-d8e60e8e174e' date '17 October 2010' time '11:53:22 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.13' message 'Now assigning, but not honoring input constraints even when it could.' id '5b5512d4-7e85-442a-a4d1-4abc2dd32bf4' date '16 October 2010' time '12:35:08 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.12' message 'Getting closer to actually having a minimally functioning pass 1 compiler.' id 'cfa553b6-f57e-4111-bfdb-66517468ef1b' date '15 October 2010' time '10:02:19 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.11' message 'Early work on locations and compiler class.' id '16a1ad22-ad75-4c3d-9c45-02bff3329e68' date '14 October 2010' time '9:14:15 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.10' message 'Filling in support for compile pass 1.' id '536a2b54-3b86-459f-85ea-a5158c2ad6fb' date '13 October 2010' time '9:41:08 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.9' message 'Finally getting somewhere with phase 1 of the Fog compiler.' id '81aebe58-0e62-4e73-be45-2e8a7695ed9d' date '12 October 2010' time '9:39:42 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.8' message 'A bit more progress on the compiler.' id '79050d76-e3d8-4e0e-a76a-da8c99069958' date '11 October 2010' time '9:49:14 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.7' message 'Not very good first start on the code generator.' id '5ced6c66-ea1e-4d65-afa1-7595736838b0' date '8 October 2010' time '9:07:39 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.6' message 'Renamed some stuff, added comments' id 'abfc6339-bbdf-4616-88ba-f5e4b0427c83' date '22 September 2010' time '8:10:35 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.5' message 'Renamed FogConstantNode to FogIntConstantNode' id 'ea831817-d6c7-4ee6-8c67-1dd6e0126d82' date '20 September 2010' time '9:42:45 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.4' message 'Added initial Fog node types, creation and printing.' id '9b2aaf3e-0d16-4f1a-93c1-33e7a7a08f54' date '16 September 2010' time '9:45:02 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.3' message 'Can now write the forty-two executable.' id '9c169a82-083d-4203-be44-76b3f78856bd' date '19 August 2010' time '8:03:20 am' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.2' message 'Stuff done on the plane back from S.F.' id '15b9d48f-9e25-4ec1-9b76-32c89c717f9f' date '18 August 2010' time '2:55:45 pm' author 'MartinMcClure' ancestors ((name 'Mist-MartinMcClure.1' message 'Initial Empty version' id 'fabbf292-1522-42e4-8c2c-a3eab0627e8e' date '16 August 2010' time '11:04:01 am' author 'MartinMcClure' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())

0 comments on commit 57b6ddc

Please sign in to comment.