TwoTierExample.cm
Created by: Serlet, April 12, 1985 3:17:45 pm PST
Last Edited by: Serlet, April 15, 1985 6:00:55 pm PST
Last Edited by: Barth, April 16, 1985 3:56:53 pm PST
Last Edited by: Sindhu, May 2, 1985 5:59:07 pm PDT
Bertrand Serlet August 5, 1985 12:45:04 pm PDT
-- Starting Dragoman
///commands/compile Foo.mesa
Dragoman
Run AssociativeCacheImpl
Run DirectMapCacheImpl
-- Initializing the thing
&handleDragoman.Start[backingFile: "TwoTierExample.ts", instr: 1, data: 1] -- number of caches
-- Create the caches
&mcDirectMapCache.NewCache[lines: 300, wordsPerQuad: 4] -- map cache
&rcDirectMapCache.NewCache[lines: 512, wordsPerQuad: 8] -- real cache
Dragoman.SetInstructionCache[handle: &handle, number: 0, cache: DirectMapCache.NewCache[lines: 4096, quadsPerLine: 1, realCache: &rc, mapCache: &mc]] -- instruction cache
Dragoman.SetDataCache[handle: &handle, number: 0, cache: DirectMapCache.NewCache[lines: 4096, quadsPerLine: 1, realCache: &rc, mapCache: &mc]] -- data cache
-- Marking interesting GFI's
Dragoman.MarkGFIs[&handle, LIST ["CompilerClientCommandImpl", "CompilerServerCommandImpl", "CompilerSequencer", "Pass3", "Pass1", "Pass3S", "Pass3B", "Code", "Pass2", "ObjectOut", "Driver", "SymbolPackExt", "FSStreamImpl", "FileStreamCreateImpl", "IOCommonImpl", "FileStreamImpl", "FSMainImpl1", "FileParmPack", "FSOpenFileImpl", "FSFileOpsImpl", "FSDirImpl", "FileImpl", "BTreeDelete", "IOPrintImpl", "BTreeWrite", "BTreeVMImpl", "FilePagesImpl", "DiskImpl", "UserProfileImpl", "RopeImpl", "BTreeRead", "IOClassesImpl"]]
-- Running the simulation
Dragoman.Run[&handle, "///commands/compile Foo.mesa"]
&rc.print[&rc, &handle.tsOut, "Real cache"]
&mc.print[&mc, &handle.tsOut, "Map cache"]