From: bdemsky Date: Wed, 8 Aug 2007 05:13:47 +0000 (+0000) Subject: add more comments X-Git-Tag: preEdgeChange~491 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2f2cbbbc9385b82d891fabf62ab7e0c5cf364658;p=IRC.git add more comments update list of class files --- diff --git a/Robust/src/IR/Flat/BuildCode.java b/Robust/src/IR/Flat/BuildCode.java index 03d1250b..56fa8c20 100644 --- a/Robust/src/IR/Flat/BuildCode.java +++ b/Robust/src/IR/Flat/BuildCode.java @@ -654,7 +654,14 @@ public class BuildCode { } } } - + + /** This method outputs the following information about classes + * and arrays: + * (1) For classes, what are the locations of pointers. + * (2) For arrays, does the array contain pointers or primitives. + * (3) For classes, does the class contain flags. + */ + private void generateLayoutStructs(PrintWriter output) { Iterator it=state.getClassSymbolTable().getDescriptorsIterator(); while(it.hasNext()) { @@ -954,7 +961,7 @@ public class BuildCode { } } - /** Generate code for flatmethod fm. */ + /** Generate code for FlatMethod fm. */ private void generateFlatMethod(FlatMethod fm, PrintWriter output) { MethodDescriptor md=fm.getMethod(); @@ -1159,7 +1166,6 @@ public class BuildCode { throw new Error(); } - public void generateFlatAtomicEnterNode(FlatMethod fm, FlatAtomicEnterNode faen, PrintWriter output) { } @@ -1168,7 +1174,6 @@ public class BuildCode { } private void generateFlatCheckNode(FlatMethod fm, FlatCheckNode fcn, PrintWriter output) { - if (state.CONSCHECK) { String specname=fcn.getSpec(); String varname="repairstate___"; @@ -1188,7 +1193,6 @@ public class BuildCode { output.println("free"+specname+"_state("+varname+");"); output.println("abort_task();"); output.println("}"); - output.println("}"); } } @@ -1432,7 +1436,6 @@ public class BuildCode { } private void generateFlatReturnNode(FlatMethod fm, FlatReturnNode frn, PrintWriter output) { - if (frn.getReturnTemp()!=null) output.println("return "+generateTemp(fm, frn.getReturnTemp())+";"); else @@ -1443,6 +1446,9 @@ public class BuildCode { output.println("if (!"+generateTemp(fm, fcb.getTest())+") goto "+label+";"); } + /** This method generates header information for the method or + * task referenced by the Descriptor des. */ + private void generateHeader(FlatMethod fm, Descriptor des, PrintWriter output) { /* Print header */ ParamsObject objectparams=(ParamsObject)paramstable.get(des); diff --git a/Robust/src/Makefile b/Robust/src/Makefile index 6d3f35a0..0ae5fda8 100644 --- a/Robust/src/Makefile +++ b/Robust/src/Makefile @@ -1,4 +1,4 @@ -CLASSFILES= Main/Main.class Lex/BooleanLiteral.class \ +CLASSFILES=Main/Main.class Lex/BooleanLiteral.class \ Lex/CharacterLiteral.class Lex/Comment.class \ Lex/DocumentationComment.class Lex/DoubleLiteral.class Lex/EOF.class \ Lex/EndOfLineComment.class Lex/EscapedUnicodeReader.class \ @@ -15,10 +15,12 @@ IR/State.class IR/SymbolTable.class IR/TagDescriptor.class \ IR/TagVarDescriptor.class IR/TaskDescriptor.class \ IR/TypeDescriptor.class IR/TypeUtil.class IR/VarDescriptor.class \ IR/Virtual.class IR/Flat/BuildCode.class IR/Flat/BuildFlat.class \ -IR/Flat/FKind.class IR/Flat/FlatBackEdge.class IR/Flat/FlatCall.class \ -IR/Flat/FlatCastNode.class IR/Flat/FlatCheckNode.class \ -IR/Flat/FlatCondBranch.class IR/Flat/FlatElementNode.class \ -IR/Flat/FlatFieldNode.class IR/Flat/FlatFlagActionNode.class \ +IR/Flat/FKind.class IR/Flat/FlatAtomicEnterNode.class \ +IR/Flat/FlatAtomicExitNode.class IR/Flat/FlatBackEdge.class \ +IR/Flat/FlatCall.class IR/Flat/FlatCastNode.class \ +IR/Flat/FlatCheckNode.class IR/Flat/FlatCondBranch.class \ +IR/Flat/FlatElementNode.class IR/Flat/FlatFieldNode.class \ +IR/Flat/FlatFlagActionNode.class IR/Flat/FlatGlobalConvNode.class \ IR/Flat/FlatLiteralNode.class IR/Flat/FlatMethod.class \ IR/Flat/FlatNew.class IR/Flat/FlatNode.class IR/Flat/FlatNop.class \ IR/Flat/FlatOpNode.class IR/Flat/FlatReturnNode.class \ @@ -27,17 +29,17 @@ IR/Flat/FlatTagDeclaration.class IR/Flat/NodePair.class \ IR/Flat/ParamsObject.class IR/Flat/TempDescriptor.class \ IR/Flat/TempFlagPair.class IR/Flat/TempObject.class \ IR/Flat/TempTagPair.class IR/Tree/ArrayAccessNode.class \ -IR/Tree/AssignmentNode.class IR/Tree/BlockExpressionNode.class \ -IR/Tree/BlockNode.class IR/Tree/BlockStatementNode.class \ -IR/Tree/BuildIR.class IR/Tree/CastNode.class \ -IR/Tree/ConstraintCheck.class IR/Tree/CreateObjectNode.class \ -IR/Tree/DNFFlag.class IR/Tree/DNFFlagAtom.class \ -IR/Tree/DeclarationNode.class IR/Tree/ExpressionNode.class \ -IR/Tree/FieldAccessNode.class IR/Tree/FlagEffect.class \ -IR/Tree/FlagEffects.class IR/Tree/FlagExpressionNode.class \ -IR/Tree/FlagNode.class IR/Tree/FlagOpNode.class \ -IR/Tree/IfStatementNode.class IR/Tree/Kind.class \ -IR/Tree/LiteralNode.class IR/Tree/LoopNode.class \ +IR/Tree/AssignmentNode.class IR/Tree/AtomicNode.class \ +IR/Tree/BlockExpressionNode.class IR/Tree/BlockNode.class \ +IR/Tree/BlockStatementNode.class IR/Tree/BuildIR.class \ +IR/Tree/CastNode.class IR/Tree/ConstraintCheck.class \ +IR/Tree/CreateObjectNode.class IR/Tree/DNFFlag.class \ +IR/Tree/DNFFlagAtom.class IR/Tree/DeclarationNode.class \ +IR/Tree/ExpressionNode.class IR/Tree/FieldAccessNode.class \ +IR/Tree/FlagEffect.class IR/Tree/FlagEffects.class \ +IR/Tree/FlagExpressionNode.class IR/Tree/FlagNode.class \ +IR/Tree/FlagOpNode.class IR/Tree/IfStatementNode.class \ +IR/Tree/Kind.class IR/Tree/LiteralNode.class IR/Tree/LoopNode.class \ IR/Tree/MethodInvokeNode.class IR/Tree/Modifiers.class \ IR/Tree/NameNode.class IR/Tree/OpNode.class IR/Tree/ParseNode.class \ IR/Tree/ParseNodeDOTVisitor.class IR/Tree/ParseNodeVector.class \ @@ -45,23 +47,36 @@ IR/Tree/ReturnNode.class IR/Tree/SemanticCheck.class \ IR/Tree/SubBlockNode.class IR/Tree/TagDeclarationNode.class \ IR/Tree/TagEffect.class IR/Tree/TagExpressionList.class \ IR/Tree/TaskExitNode.class IR/Tree/TreeNode.class \ -IR/Tree/Walkable.class Analysis/TaskStateAnalysis/FEdge.class \ -Analysis/TaskStateAnalysis/FlagState.class \ +IR/Tree/Walkable.class Analysis/CallGraph/CallGraph.class \ +Analysis/Locality/GenerateConversions.class \ +Analysis/Locality/LocalityAnalysis.class \ +Analysis/Locality/LocalityBinding.class \ +Analysis/Locality/TempNodePair.class \ Analysis/TaskStateAnalysis/Allocations.class \ +Analysis/TaskStateAnalysis/EGEdge.class \ +Analysis/TaskStateAnalysis/EGTaskNode.class \ +Analysis/TaskStateAnalysis/ExecutionGraph.class \ +Analysis/TaskStateAnalysis/FEdge.class \ +Analysis/TaskStateAnalysis/FlagState.class \ +Analysis/TaskStateAnalysis/GarbageAnalysis.class \ +Analysis/TaskStateAnalysis/OptionalTaskDescriptor.class \ +Analysis/TaskStateAnalysis/Predicate.class \ +Analysis/TaskStateAnalysis/SafetyAnalysis.class \ Analysis/TaskStateAnalysis/TEdge.class \ Analysis/TaskStateAnalysis/TagAnalysis.class \ Analysis/TaskStateAnalysis/TagBinding.class \ Analysis/TaskStateAnalysis/TaskAnalysis.class \ -Analysis/TaskStateAnalysis/TaskNode.class \ +Analysis/TaskStateAnalysis/TaskEdges.class \ Analysis/TaskStateAnalysis/TaskGraph.class \ -Analysis/TaskStateAnalysis/GarbageAnalysis.class \ -Analysis/CallGraph/CallGraph.class Util/Edge.class \ -Util/GraphNode.class Util/Relation.class Util/Namer.class \ -Interface/WebInterface.class Interface/HTTPHeader.class \ -Interface/JhttpWorker.class Interface/HTTPResponse.class \ -Interface/LogFile.class Interface/HTTPServices.class \ -Interface/Pair.class Interface/HashStrings.class \ -Interface/JhttpServer.class +Analysis/TaskStateAnalysis/TaskNode.class \ +Analysis/TaskStateAnalysis/TaskNodeNamer.class Util/Edge.class \ +Util/GraphNode.class Util/Namer.class Util/Relation.class \ +Interface/HTTPHeader.class Interface/HTTPResponse.class \ +Interface/HTTPServices.class Interface/HashStrings.class \ +Interface/JhttpServer.class Interface/JhttpWorker.class \ +Interface/LogFile.class Interface/Pair.class \ +Interface/WebInterface.class +