mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-02-06 13:31:05 +00:00
Finished fixes for uniwnding struct pointers/arrays.
This commit is contained in:
parent
66f6195739
commit
a30939e72c
@ -194,6 +194,10 @@ public class Compiler {
|
||||
new PassNAddTypeConversionAssignment(program, false).execute();
|
||||
|
||||
new Pass1EarlyConstantIdentification(program).execute();
|
||||
if(getLog().isVerbosePass1CreateSsa()) {
|
||||
getLog().append("CONTROL FLOW GRAPH BEFORE INLINING");
|
||||
getLog().append(program.getGraph().toString(program));
|
||||
}
|
||||
new Pass1ProcedureInline(program).execute();
|
||||
new PassNStatementIndices(program).step();
|
||||
new PassNCallGraphAnalysis(program).step();
|
||||
|
@ -10,7 +10,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Keeps track of all structs that have been unwound into member variables.
|
||||
* Keeps track of all struct variables that have been unwound into member variables.
|
||||
*/
|
||||
public class StructUnwinding {
|
||||
|
||||
@ -41,25 +41,6 @@ public class StructUnwinding {
|
||||
return structVariables.get(ref);
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the struct variable that the passed symbol was unwound from.
|
||||
*
|
||||
* @param symbolRef The symbol to look for
|
||||
* @return The struct variable containing it. null if the passed symbol is not an unwound variable.
|
||||
*/
|
||||
public VariableRef getContainingStructVariable(SymbolRef symbolRef) {
|
||||
for(VariableRef structVarRef : structVariables.keySet()) {
|
||||
VariableUnwinding variableUnwinding = getVariableUnwinding(structVarRef);
|
||||
for(String memberName : variableUnwinding.getMemberNames()) {
|
||||
LValue memberUnwinding = variableUnwinding.getMemberUnwinding(memberName);
|
||||
if(memberUnwinding instanceof VariableRef && memberUnwinding.equals(symbolRef)) {
|
||||
return structVarRef;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/** Information about how a single struct variable was unwound. */
|
||||
public static class VariableUnwinding implements StructMemberUnwinding {
|
||||
|
@ -60,7 +60,7 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
} else if(statement instanceof StatementCall) {
|
||||
modified |= unwindCall((StatementCall) statement, stmtIt, block);
|
||||
} else if(statement instanceof StatementReturn) {
|
||||
modified |= unwindReturn((StatementReturn) statement);
|
||||
modified |= unwindReturn((StatementReturn) statement, stmtIt, block);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -71,25 +71,19 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
* Change all usages of members inside statements to the unwound member variables
|
||||
*/
|
||||
private boolean unwindStructMemberReferences() {
|
||||
StructUnwinding structUnwinding = getProgram().getStructUnwinding();
|
||||
AtomicBoolean modified = new AtomicBoolean(false);
|
||||
ProgramValueIterator.execute(
|
||||
getProgram(), (programValue, currentStmt, stmtIt, currentBlock) ->
|
||||
{
|
||||
getProgram(), (programValue, currentStmt, stmtIt, currentBlock) -> {
|
||||
if(programValue.get() instanceof StructMemberRef) {
|
||||
StructMemberRef structMemberRef = (StructMemberRef) programValue.get();
|
||||
// TODO Extend to handle structs that are not VariableRefs (for instance pointer derefs)
|
||||
if(structMemberRef.getStruct() instanceof VariableRef) {
|
||||
Variable structVariable = getScope().getVariable((VariableRef) structMemberRef.getStruct());
|
||||
StructUnwinding.VariableUnwinding memberVariables = structUnwinding.getVariableUnwinding(structVariable.getRef());
|
||||
if(memberVariables != null) {
|
||||
StructUnwinding.StructMemberUnwinding memberVariables = getStructMemberUnwinding(structMemberRef.getStruct(), currentStmt, stmtIt, currentBlock);
|
||||
if(memberVariables != null && memberVariables != POSTPONE_UNWINDING) {
|
||||
VariableRef structMemberVariable = (VariableRef) memberVariables.getMemberUnwinding(structMemberRef.getMemberName());
|
||||
getLog().append("Replacing struct member reference " + structMemberRef.toString(getProgram()) + " with member variable reference " + structMemberVariable.toString(getProgram()));
|
||||
getLog().append("Replacing struct member reference " + structMemberRef.toString(getProgram()) + " with member unwinding reference " + structMemberVariable.toString(getProgram()));
|
||||
programValue.set(structMemberVariable);
|
||||
modified.set(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
return modified.get();
|
||||
}
|
||||
@ -100,26 +94,19 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
* @param call The call to unwind
|
||||
*/
|
||||
private boolean unwindCall(StatementCall call, ListIterator<Statement> stmtIt, ControlFlowBlock currentBlock) {
|
||||
StructUnwinding structUnwinding = getProgram().getStructUnwinding();
|
||||
// Unwind struct value return value
|
||||
boolean lvalUnwound = false;
|
||||
// TODO Extend to handle any struct (not just VariableRefs - but also pointer derefs to structs)
|
||||
if(call.getlValue() instanceof VariableRef) {
|
||||
Variable lvalueVar = getScope().getVariable((VariableRef) call.getlValue());
|
||||
if(lvalueVar.getType() instanceof SymbolTypeStruct) {
|
||||
StructUnwinding.VariableUnwinding lValueVarUnwinding = structUnwinding.getVariableUnwinding(lvalueVar.getRef());
|
||||
if(lValueVarUnwinding != null) {
|
||||
StructUnwinding.StructMemberUnwinding lValueUnwinding = getStructMemberUnwinding(call.getlValue(), call, stmtIt, currentBlock);
|
||||
if(lValueUnwinding != null && lValueUnwinding != POSTPONE_UNWINDING) {
|
||||
ArrayList<RValue> unwoundMembers = new ArrayList<>();
|
||||
for(String memberName : lValueVarUnwinding.getMemberNames()) {
|
||||
unwoundMembers.add(lValueVarUnwinding.getMemberUnwinding(memberName));
|
||||
for(String memberName : lValueUnwinding.getMemberNames()) {
|
||||
unwoundMembers.add(lValueUnwinding.getMemberUnwinding(memberName));
|
||||
}
|
||||
ValueList unwoundLValue = new ValueList(unwoundMembers);
|
||||
call.setlValue(unwoundLValue);
|
||||
getLog().append("Converted procedure call LValue to member variables " + call.toString(getProgram(), false));
|
||||
getLog().append("Converted procedure call LValue to member unwinding " + call.toString(getProgram(), false));
|
||||
lvalUnwound = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Unwind any struct value parameters
|
||||
ArrayList<RValue> unwoundParameters = new ArrayList<>();
|
||||
@ -142,7 +129,7 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
|
||||
if(anyParameterUnwound) {
|
||||
call.setParameters(unwoundParameters);
|
||||
getLog().append("Converted procedure struct value parameter to member variables in call " + call.toString(getProgram(), false));
|
||||
getLog().append("Converted procedure struct value parameter to member unwinding in call " + call.toString(getProgram(), false));
|
||||
}
|
||||
return (anyParameterUnwound || lvalUnwound);
|
||||
}
|
||||
@ -153,26 +140,20 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
* @param statementReturn The return to unwind
|
||||
*/
|
||||
|
||||
private boolean unwindReturn(StatementReturn statementReturn) {
|
||||
private boolean unwindReturn(StatementReturn statementReturn, ListIterator<Statement> stmtIt, ControlFlowBlock currentBlock) {
|
||||
boolean modified = false;
|
||||
// Unwind struct value return value
|
||||
// TODO Extend to handle structs that are not variables - eg. pointer derefs
|
||||
if(statementReturn.getValue() instanceof VariableRef) {
|
||||
Variable returnValueVar = getScope().getVariable((VariableRef) statementReturn.getValue());
|
||||
if(returnValueVar.getType() instanceof SymbolTypeStruct) {
|
||||
StructUnwinding structUnwinding = getProgram().getStructUnwinding();
|
||||
StructUnwinding.VariableUnwinding returnVarUnwinding = structUnwinding.getVariableUnwinding(returnValueVar.getRef());
|
||||
if(returnVarUnwinding != null) {
|
||||
StructUnwinding.StructMemberUnwinding returnVarUnwinding = getStructMemberUnwinding(statementReturn.getValue(), statementReturn, stmtIt, currentBlock);
|
||||
if(returnVarUnwinding != null && returnVarUnwinding != POSTPONE_UNWINDING) {
|
||||
ArrayList<RValue> unwoundMembers = new ArrayList<>();
|
||||
for(String memberName : returnVarUnwinding.getMemberNames()) {
|
||||
unwoundMembers.add(returnVarUnwinding.getMemberUnwinding(memberName));
|
||||
}
|
||||
ValueList unwoundReturnValue = new ValueList(unwoundMembers);
|
||||
statementReturn.setValue(unwoundReturnValue);
|
||||
getLog().append("Converted procedure struct return value to member variables " + statementReturn.toString(getProgram(), false));
|
||||
getLog().append("Converted procedure struct return value to member unwinding " + statementReturn.toString(getProgram(), false));
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return modified;
|
||||
}
|
||||
@ -201,7 +182,7 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
}
|
||||
if(procedureUnwound) {
|
||||
procedure.setParameterNames(unwoundParameterNames);
|
||||
getLog().append("Converted procedure struct value parameter to member variables " + procedure.toString(getProgram()));
|
||||
getLog().append("Converted procedure struct value parameter to member unwinding " + procedure.toString(getProgram()));
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
@ -264,8 +245,8 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
return true;
|
||||
}
|
||||
|
||||
if(assignment.getOperator() == null && assignment.getrValue2() instanceof StructZero && assignment.getlValue() instanceof VariableRef) {
|
||||
// TODO MAYBE Extend to handle non-variable lvalues
|
||||
if(assignment.getOperator() == null) {
|
||||
if(assignment.getrValue2() instanceof StructZero && assignment.getlValue() instanceof VariableRef) {
|
||||
// Zero-initializing a struct - unwind to assigning zero to each member!
|
||||
List<RValue> membersUnwound = new ArrayList<>();
|
||||
stmtIt.previous();
|
||||
@ -285,7 +266,7 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
stmtIt.remove();
|
||||
}
|
||||
return true;
|
||||
} else if(assignment.getOperator() == null && assignment.getrValue2() instanceof ValueList) {
|
||||
} else if(assignment.getrValue2() instanceof ValueList) {
|
||||
// Initializing struct with a value list - unwind to assigning each member with a value from the list
|
||||
ValueList valueList = (ValueList) assignment.getrValue2();
|
||||
if(memberUnwinding.getMemberNames().size() != valueList.getList().size()) {
|
||||
@ -305,19 +286,18 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
if(assignment.getlValue() instanceof VariableRef) {
|
||||
SymbolTypeStruct structType = (SymbolTypeStruct) SymbolTypeInference.inferType(getScope(), assignment.getlValue());
|
||||
assignment.setrValue2(new StructUnwoundPlaceholder(structType, membersUnwound));
|
||||
// TODO MAYBE Extend to handle non-variable lvalues
|
||||
} else {
|
||||
stmtIt.remove();
|
||||
}
|
||||
return true;
|
||||
} else if(assignment.getOperator() == null) {
|
||||
} else {
|
||||
if(assignment.getrValue2() instanceof StructUnwoundPlaceholder)
|
||||
return false;
|
||||
SymbolTypeStruct structType = (SymbolTypeStruct) SymbolTypeInference.inferType(getScope(), assignment.getlValue());
|
||||
SymbolType sourceType = SymbolTypeInference.inferType(getScope(), assignment.getrValue2());
|
||||
if(sourceType.equals(structType)) {
|
||||
// Copying a struct - unwind to assigning each member!
|
||||
StructUnwinding.StructMemberUnwinding sourceMemberUnwinding = getStructMemberUnwinding((LValue) assignment.getrValue2(), assignment, stmtIt, currentBlock);
|
||||
StructUnwinding.StructMemberUnwinding sourceMemberUnwinding = getStructMemberUnwinding(assignment.getrValue2(), assignment, stmtIt, currentBlock);
|
||||
if(sourceMemberUnwinding == null) {
|
||||
throw new CompileError("Incompatible struct assignment " + assignment.toString(getProgram(), false), assignment);
|
||||
} else if(sourceMemberUnwinding == POSTPONE_UNWINDING) {
|
||||
@ -335,7 +315,6 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
}
|
||||
stmtIt.next();
|
||||
if(assignment.getlValue() instanceof VariableRef) {
|
||||
// TODO MAYBE Extend to handle non-variable lvalues
|
||||
assignment.setrValue2(new StructUnwoundPlaceholder(structType, membersUnwound));
|
||||
} else {
|
||||
stmtIt.remove();
|
||||
@ -345,10 +324,10 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
} else {
|
||||
throw new CompileError("Incompatible struct assignment " + assignment.toString(getProgram(), false), assignment);
|
||||
}
|
||||
} else {
|
||||
throw new CompileError("Incompatible struct assignment " + assignment.toString(getProgram(), false), assignment);
|
||||
}
|
||||
}
|
||||
throw new CompileError("Incompatible struct assignment " + assignment.toString(getProgram(), false), assignment);
|
||||
}
|
||||
|
||||
/**
|
||||
* Examine a value - and if it represents a struct get the unwinding information for the struct members
|
||||
@ -360,6 +339,7 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
* @return null if the value is not a struct. Unwinding for the passed value if it is a struct. {@link #POSTPONE_UNWINDING} if the struct is not ready for unwinding yet.
|
||||
*/
|
||||
private StructUnwinding.StructMemberUnwinding getStructMemberUnwinding(RValue value, Statement currentStmt, ListIterator<Statement> stmtIt, ControlFlowBlock currentBlock) {
|
||||
if(value != null) {
|
||||
SymbolType lValueType = SymbolTypeInference.inferType(getScope(), value);
|
||||
if(lValueType instanceof SymbolTypeStruct) {
|
||||
SymbolTypeStruct structType = (SymbolTypeStruct) lValueType;
|
||||
@ -375,12 +355,12 @@ public class Pass1UnwindStructValues extends Pass1Base {
|
||||
} else {
|
||||
throw new InternalError("Struct unwinding not implemented for " + value.toString(getProgram()));
|
||||
}
|
||||
} else {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/** Singleton signalling that unwinding should be postponed. */
|
||||
/** Singleton signaling that unwinding should be postponed. */
|
||||
private static final StructUnwinding.StructMemberUnwinding POSTPONE_UNWINDING = new StructUnwinding.StructMemberUnwinding() {
|
||||
@Override
|
||||
public List<String> getMemberNames() {
|
||||
|
@ -90,6 +90,16 @@ public class TestPrograms {
|
||||
compileAndCompare("problem-array-struct-param");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProblemStructReturnToPointer() throws IOException, URISyntaxException {
|
||||
compileAndCompare("problem-struct-return-to-pointer");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testProblemStructReturnPointerDeref() throws IOException, URISyntaxException {
|
||||
compileAndCompare("problem-struct-return-pointer-deref");
|
||||
}
|
||||
|
||||
/*
|
||||
@Test
|
||||
public void testProblemArrayStructInit() throws IOException, URISyntaxException {
|
||||
@ -100,11 +110,10 @@ public class TestPrograms {
|
||||
/*
|
||||
@Test
|
||||
public void testProblemInlineStructReturn() throws IOException, URISyntaxException {
|
||||
compileAndCompare("problem-inline-struct-return");
|
||||
compileAndCompare("problem-inline-struct-return", log().verboseCreateSsa());
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
@Test
|
||||
public void testTrueTypeSplines() throws IOException, URISyntaxException {
|
||||
compileAndCompare("complex/splines/truetype-splines");
|
||||
|
30
src/test/kc/problem-struct-return-pointer-deref.kc
Normal file
30
src/test/kc/problem-struct-return-pointer-deref.kc
Normal file
@ -0,0 +1,30 @@
|
||||
// Demonstrates problem with returning a dereferenced pointer to a struct
|
||||
|
||||
struct Point {
|
||||
char x;
|
||||
char y;
|
||||
};
|
||||
|
||||
const struct Point* SCREEN = 0x0400;
|
||||
char idx = 0;
|
||||
|
||||
void main() {
|
||||
*SCREEN = get(0);
|
||||
for ( char i: 1..2) {
|
||||
SCREEN[i] = get(i);
|
||||
}
|
||||
}
|
||||
|
||||
struct Point* p0 = 0xa000;
|
||||
struct Point* p1 = 0xb000;
|
||||
struct Point* p2 = 0xe000;
|
||||
|
||||
struct Point get(char i) {
|
||||
if(i==0) {
|
||||
return *p0;
|
||||
} else if(i==1) {
|
||||
return *p1;
|
||||
} else {
|
||||
return *p2;
|
||||
}
|
||||
}
|
21
src/test/kc/problem-struct-return-to-pointer.kc
Normal file
21
src/test/kc/problem-struct-return-to-pointer.kc
Normal file
@ -0,0 +1,21 @@
|
||||
// Demonstrates problem with returning a struct into a dereferenced pointer to a struct
|
||||
|
||||
struct Point {
|
||||
char x;
|
||||
char y;
|
||||
};
|
||||
|
||||
const struct Point* SCREEN = 0x0400;
|
||||
char idx = 0;
|
||||
|
||||
void main() {
|
||||
*SCREEN = get(0);
|
||||
for ( char i: 1..2) {
|
||||
SCREEN[i] = get(i);
|
||||
}
|
||||
}
|
||||
|
||||
struct Point get(char i) {
|
||||
struct Point p = { i, 7 };
|
||||
return p;
|
||||
}
|
@ -38,7 +38,7 @@ Created struct value member variable (byte) startProcessing::center_x
|
||||
Created struct value member variable (byte) startProcessing::center_y
|
||||
Created struct value member variable (byte) startProcessing::center_dist
|
||||
Converted struct value to member variables (struct ProcessingChar) startProcessing::center
|
||||
Converted procedure struct value parameter to member variables (void()) startProcessing((byte) startProcessing::center_x , (byte) startProcessing::center_y , (byte) startProcessing::center_dist)
|
||||
Converted procedure struct value parameter to member unwinding (void()) startProcessing((byte) startProcessing::center_x , (byte) startProcessing::center_y , (byte) startProcessing::center_dist)
|
||||
Adding struct value list initializer *((word*) main::$17 + (byte~) main::$16) ← (number) 0
|
||||
Adding struct value list initializer *((word*) main::$18 + (byte~) main::$16) ← (number) 0
|
||||
Adding struct value list initializer *((word*) main::$19 + (byte~) main::$16) ← (number) 0
|
||||
@ -48,11 +48,11 @@ Adding struct value list initializer *((byte*) main::$22 + (byte~) main::$16)
|
||||
Adding struct value list initializer *((byte*) main::$23 + (byte~) main::$16) ← (number) 0
|
||||
Adding struct value list initializer *((byte*) main::$24 + (byte~) main::$16) ← (const byte) STATUS_FREE
|
||||
Adding struct value list initializer *((byte**) main::$25 + (byte~) main::$16) ← (number) 0
|
||||
Converted procedure call LValue to member variables { (byte) main::$9_x, (byte) main::$9_y, (byte) main::$9_dist } ← call getCharToProcess
|
||||
Converted procedure call LValue to member unwinding { (byte) main::$9_x, (byte) main::$9_y, (byte) main::$9_dist } ← call getCharToProcess
|
||||
Adding struct value member variable copy (byte) main::center_x ← (byte) main::$9_x
|
||||
Adding struct value member variable copy (byte) main::center_y ← (byte) main::$9_y
|
||||
Adding struct value member variable copy (byte) main::center_dist ← (byte) main::$9_dist
|
||||
Converted procedure struct value parameter to member variables in call (void~) main::$12 ← call startProcessing (byte) main::center_x (byte) main::center_y (byte) main::center_dist
|
||||
Converted procedure struct value parameter to member unwinding in call (void~) main::$12 ← call startProcessing (byte) main::center_x (byte) main::center_y (byte) main::center_dist
|
||||
Adding struct value list initializer (byte) getCharToProcess::closest_x ← (number) 0
|
||||
Adding struct value list initializer (byte) getCharToProcess::closest_y ← (number) 0
|
||||
Adding struct value list initializer (byte) getCharToProcess::closest_dist ← (byte) NOT_FOUND
|
||||
@ -65,7 +65,7 @@ Adding struct value member variable copy (byte) getCharToProcess::return_dist
|
||||
Adding struct value member variable copy (byte) getCharToProcess::return_x ← (byte) getCharToProcess::return_x
|
||||
Adding struct value member variable copy (byte) getCharToProcess::return_y ← (byte) getCharToProcess::return_y
|
||||
Adding struct value member variable copy (byte) getCharToProcess::return_dist ← (byte) getCharToProcess::return_dist
|
||||
Converted procedure struct return value to member variables return { (byte) getCharToProcess::return_x, (byte) getCharToProcess::return_y, (byte) getCharToProcess::return_dist }
|
||||
Converted procedure struct return value to member unwinding return { (byte) getCharToProcess::return_x, (byte) getCharToProcess::return_y, (byte) getCharToProcess::return_dist }
|
||||
Adding struct value list initializer *((word*) startProcessing::$32 + (byte~) startProcessing::$31) ← (word) startProcessing::spriteX
|
||||
Adding struct value list initializer *((word*) startProcessing::$33 + (byte~) startProcessing::$31) ← (word) startProcessing::spriteY
|
||||
Adding struct value list initializer *((word*) startProcessing::$34 + (byte~) startProcessing::$31) ← (word~) startProcessing::$23
|
||||
@ -75,15 +75,15 @@ Adding struct value list initializer *((byte*) startProcessing::$37 + (byte~) st
|
||||
Adding struct value list initializer *((byte*) startProcessing::$38 + (byte~) startProcessing::$31) ← (byte) startProcessing::spriteCol
|
||||
Adding struct value list initializer *((byte*) startProcessing::$39 + (byte~) startProcessing::$31) ← (const byte) STATUS_NEW
|
||||
Adding struct value list initializer *((byte**) startProcessing::$40 + (byte~) startProcessing::$31) ← (byte*) startProcessing::screenPtr
|
||||
Replacing struct member reference (struct ProcessingChar) main::center.dist with member variable reference (byte) main::center_dist
|
||||
Replacing struct member reference (struct ProcessingChar) getCharToProcess::closest.dist with member variable reference (byte) getCharToProcess::closest_dist
|
||||
Replacing struct member reference (struct ProcessingChar) getCharToProcess::closest.dist with member variable reference (byte) getCharToProcess::closest_dist
|
||||
Replacing struct member reference (struct ProcessingChar) getCharToProcess::closest.y with member variable reference (byte) getCharToProcess::closest_y
|
||||
Replacing struct member reference (struct ProcessingChar) getCharToProcess::closest.x with member variable reference (byte) getCharToProcess::closest_x
|
||||
Replacing struct member reference (struct ProcessingChar) startProcessing::center.y with member variable reference (byte) startProcessing::center_y
|
||||
Replacing struct member reference (struct ProcessingChar) startProcessing::center.x with member variable reference (byte) startProcessing::center_x
|
||||
Replacing struct member reference (struct ProcessingChar) startProcessing::center.x with member variable reference (byte) startProcessing::center_x
|
||||
Replacing struct member reference (struct ProcessingChar) startProcessing::center.y with member variable reference (byte) startProcessing::center_y
|
||||
Replacing struct member reference (struct ProcessingChar) main::center.dist with member unwinding reference (byte) main::center_dist
|
||||
Replacing struct member reference (struct ProcessingChar) getCharToProcess::closest.dist with member unwinding reference (byte) getCharToProcess::closest_dist
|
||||
Replacing struct member reference (struct ProcessingChar) getCharToProcess::closest.dist with member unwinding reference (byte) getCharToProcess::closest_dist
|
||||
Replacing struct member reference (struct ProcessingChar) getCharToProcess::closest.y with member unwinding reference (byte) getCharToProcess::closest_y
|
||||
Replacing struct member reference (struct ProcessingChar) getCharToProcess::closest.x with member unwinding reference (byte) getCharToProcess::closest_x
|
||||
Replacing struct member reference (struct ProcessingChar) startProcessing::center.y with member unwinding reference (byte) startProcessing::center_y
|
||||
Replacing struct member reference (struct ProcessingChar) startProcessing::center.x with member unwinding reference (byte) startProcessing::center_x
|
||||
Replacing struct member reference (struct ProcessingChar) startProcessing::center.x with member unwinding reference (byte) startProcessing::center_x
|
||||
Replacing struct member reference (struct ProcessingChar) startProcessing::center.y with member unwinding reference (byte) startProcessing::center_y
|
||||
Rewriting struct pointer member access *((struct ProcessingSprite[NUM_PROCESSING]) PROCESSING + (byte~) startProcessing::$30).status
|
||||
Rewriting struct pointer member access *((struct ProcessingSprite*) processChars::processing).id
|
||||
Rewriting struct pointer member access *((struct ProcessingSprite*) processChars::processing).status
|
||||
|
@ -143,10 +143,10 @@ Converted struct value to member variables (struct SplineVector16) rotate::vecto
|
||||
Created struct value member variable (signed word) rotate::rotated_x
|
||||
Created struct value member variable (signed word) rotate::rotated_y
|
||||
Converted struct value to member variables (struct SplineVector16) rotate::rotated
|
||||
Converted procedure struct value parameter to member variables (void()) spline_16seg((signed word) spline_16seg::p0_x , (signed word) spline_16seg::p0_y , (signed word) spline_16seg::p1_x , (signed word) spline_16seg::p1_y , (signed word) spline_16seg::p2_x , (signed word) spline_16seg::p2_y)
|
||||
Converted procedure struct value parameter to member variables (void()) spline_8seg((signed word) spline_8seg::p0_x , (signed word) spline_8seg::p0_y , (signed word) spline_8seg::p1_x , (signed word) spline_8seg::p1_y , (signed word) spline_8seg::p2_x , (signed word) spline_8seg::p2_y)
|
||||
Converted procedure struct value parameter to member variables (void()) spline_8segB((signed word) spline_8segB::p0_x , (signed word) spline_8segB::p0_y , (signed word) spline_8segB::p1_x , (signed word) spline_8segB::p1_y , (signed word) spline_8segB::p2_x , (signed word) spline_8segB::p2_y)
|
||||
Converted procedure struct value parameter to member variables (struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle)
|
||||
Converted procedure struct value parameter to member unwinding (void()) spline_16seg((signed word) spline_16seg::p0_x , (signed word) spline_16seg::p0_y , (signed word) spline_16seg::p1_x , (signed word) spline_16seg::p1_y , (signed word) spline_16seg::p2_x , (signed word) spline_16seg::p2_y)
|
||||
Converted procedure struct value parameter to member unwinding (void()) spline_8seg((signed word) spline_8seg::p0_x , (signed word) spline_8seg::p0_y , (signed word) spline_8seg::p1_x , (signed word) spline_8seg::p1_y , (signed word) spline_8seg::p2_x , (signed word) spline_8seg::p2_y)
|
||||
Converted procedure struct value parameter to member unwinding (void()) spline_8segB((signed word) spline_8segB::p0_x , (signed word) spline_8segB::p0_y , (signed word) spline_8segB::p1_x , (signed word) spline_8segB::p1_y , (signed word) spline_8segB::p2_x , (signed word) spline_8segB::p2_y)
|
||||
Converted procedure struct value parameter to member unwinding (struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle)
|
||||
Adding struct value list initializer (signed word) spline_16seg::a_x ← (number~) spline_16seg::$2
|
||||
Adding struct value list initializer (signed word) spline_16seg::a_y ← (number~) spline_16seg::$5
|
||||
Adding struct value list initializer (signed word) spline_16seg::b_x ← (number~) spline_16seg::$7
|
||||
@ -273,8 +273,8 @@ Adding struct value list initializer (signed word) show_letter::to_x ← *((stru
|
||||
Adding struct value list initializer (signed word) show_letter::to_y ← *((struct Segment[$16]) letter_c + (byte~) show_letter::$20).to.y
|
||||
Adding struct value list initializer (signed word) show_letter::to_x ← (number~) show_letter::$0
|
||||
Adding struct value list initializer (signed word) show_letter::to_y ← (number~) show_letter::$1
|
||||
Converted procedure call LValue to member variables { (signed word) show_letter::$2_x, (signed word) show_letter::$2_y } ← call rotate (struct SplineVector16) show_letter::to (byte) show_letter::angle
|
||||
Converted procedure struct value parameter to member variables in call { (signed word) show_letter::$2_x, (signed word) show_letter::$2_y } ← call rotate (signed word) show_letter::to_x (signed word) show_letter::to_y (byte) show_letter::angle
|
||||
Converted procedure call LValue to member unwinding { (signed word) show_letter::$2_x, (signed word) show_letter::$2_y } ← call rotate (struct SplineVector16) show_letter::to (byte) show_letter::angle
|
||||
Converted procedure struct value parameter to member unwinding in call { (signed word) show_letter::$2_x, (signed word) show_letter::$2_y } ← call rotate (signed word) show_letter::to_x (signed word) show_letter::to_y (byte) show_letter::angle
|
||||
Adding struct value member variable copy (signed word) show_letter::to_x ← (signed word) show_letter::$2_x
|
||||
Adding struct value member variable copy (signed word) show_letter::to_y ← (signed word) show_letter::$2_y
|
||||
Adding struct value list initializer (signed word) show_letter::to_x ← (number~) show_letter::$3
|
||||
@ -283,8 +283,8 @@ Adding struct value list initializer (signed word) show_letter::via_x ← *((str
|
||||
Adding struct value list initializer (signed word) show_letter::via_y ← *((struct Segment[$16]) letter_c + (byte~) show_letter::$21).via.y
|
||||
Adding struct value list initializer (signed word) show_letter::via_x ← (number~) show_letter::$5
|
||||
Adding struct value list initializer (signed word) show_letter::via_y ← (number~) show_letter::$6
|
||||
Converted procedure call LValue to member variables { (signed word) show_letter::$7_x, (signed word) show_letter::$7_y } ← call rotate (struct SplineVector16) show_letter::via (byte) show_letter::angle
|
||||
Converted procedure struct value parameter to member variables in call { (signed word) show_letter::$7_x, (signed word) show_letter::$7_y } ← call rotate (signed word) show_letter::via_x (signed word) show_letter::via_y (byte) show_letter::angle
|
||||
Converted procedure call LValue to member unwinding { (signed word) show_letter::$7_x, (signed word) show_letter::$7_y } ← call rotate (struct SplineVector16) show_letter::via (byte) show_letter::angle
|
||||
Converted procedure struct value parameter to member unwinding in call { (signed word) show_letter::$7_x, (signed word) show_letter::$7_y } ← call rotate (signed word) show_letter::via_x (signed word) show_letter::via_y (byte) show_letter::angle
|
||||
Adding struct value member variable copy (signed word) show_letter::via_x ← (signed word) show_letter::$7_x
|
||||
Adding struct value member variable copy (signed word) show_letter::via_y ← (signed word) show_letter::$7_y
|
||||
Adding struct value list initializer (signed word) show_letter::via_x ← (number~) show_letter::$8
|
||||
@ -292,7 +292,7 @@ Adding struct value list initializer (signed word) show_letter::via_y ← (numbe
|
||||
Adding struct value list initializer (byte) show_letter::segment_type ← *((struct Segment[$16]) letter_c + (byte~) show_letter::$22).type
|
||||
Adding struct value list initializer (struct SplineVector16) show_letter::segment_to ← (struct SplineVector16) show_letter::to
|
||||
Adding struct value list initializer (struct SplineVector16) show_letter::segment_via ← (struct SplineVector16) show_letter::via
|
||||
Converted procedure struct value parameter to member variables in call (void~) show_letter::$17 ← call spline_8segB (signed word) show_letter::current_x (signed word) show_letter::current_y (struct Segment) show_letter::segment.via (struct Segment) show_letter::segment.to
|
||||
Converted procedure struct value parameter to member unwinding in call (void~) show_letter::$17 ← call spline_8segB (signed word) show_letter::current_x (signed word) show_letter::current_y (struct Segment) show_letter::segment.via (struct Segment) show_letter::segment.to
|
||||
Adding struct value member variable copy (signed word) bitmap_plot_spline_8seg::current_x ← *((signed word*) bitmap_plot_spline_8seg::$10 + (number~) bitmap_plot_spline_8seg::$6)
|
||||
Adding struct value member variable copy (signed word) bitmap_plot_spline_8seg::current_y ← *((signed word*) bitmap_plot_spline_8seg::$11 + (number~) bitmap_plot_spline_8seg::$6)
|
||||
Adding struct value member variable copy (signed word) bitmap_plot_spline_8seg::current_x ← *((signed word*) bitmap_plot_spline_8seg::$12 + (byte~) bitmap_plot_spline_8seg::$9)
|
||||
@ -303,122 +303,122 @@ Adding struct value member variable copy (signed word) rotate::return_x ← (sig
|
||||
Adding struct value member variable copy (signed word) rotate::return_y ← (signed word) rotate::rotated_y
|
||||
Adding struct value member variable copy (signed word) rotate::return_x ← (signed word) rotate::return_x
|
||||
Adding struct value member variable copy (signed word) rotate::return_y ← (signed word) rotate::return_y
|
||||
Converted procedure struct return value to member variables return { (signed word) rotate::return_x, (signed word) rotate::return_y }
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.x with member variable reference (signed word) spline_16seg::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p2.x with member variable reference (signed word) spline_16seg::p2_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.x with member variable reference (signed word) spline_16seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.y with member variable reference (signed word) spline_16seg::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p2.y with member variable reference (signed word) spline_16seg::p2_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.y with member variable reference (signed word) spline_16seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.x with member variable reference (signed word) spline_16seg::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.x with member variable reference (signed word) spline_16seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.y with member variable reference (signed word) spline_16seg::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.y with member variable reference (signed word) spline_16seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::a.x with member variable reference (signed word) spline_16seg::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::b.x with member variable reference (signed word) spline_16seg::b_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::a.y with member variable reference (signed word) spline_16seg::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::b.y with member variable reference (signed word) spline_16seg::b_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::a.x with member variable reference (signed word) spline_16seg::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::a.y with member variable reference (signed word) spline_16seg::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.x with member variable reference (signed word) spline_16seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.y with member variable reference (signed word) spline_16seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.x with member variable reference (signed dword) spline_16seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.y with member variable reference (signed dword) spline_16seg::p_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.x with member variable reference (signed dword) spline_16seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::i.x with member variable reference (signed dword) spline_16seg::i_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.y with member variable reference (signed dword) spline_16seg::p_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::i.y with member variable reference (signed dword) spline_16seg::i_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::i.x with member variable reference (signed dword) spline_16seg::i_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::j.x with member variable reference (signed dword) spline_16seg::j_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::i.y with member variable reference (signed dword) spline_16seg::i_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::j.y with member variable reference (signed dword) spline_16seg::j_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.x with member variable reference (signed dword) spline_16seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.y with member variable reference (signed dword) spline_16seg::p_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.x with member variable reference (signed word) spline_8seg::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p2.x with member variable reference (signed word) spline_8seg::p2_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.x with member variable reference (signed word) spline_8seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.y with member variable reference (signed word) spline_8seg::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p2.y with member variable reference (signed word) spline_8seg::p2_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.y with member variable reference (signed word) spline_8seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.x with member variable reference (signed word) spline_8seg::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.x with member variable reference (signed word) spline_8seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.y with member variable reference (signed word) spline_8seg::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.y with member variable reference (signed word) spline_8seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::a.x with member variable reference (signed word) spline_8seg::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::b.x with member variable reference (signed word) spline_8seg::b_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::a.y with member variable reference (signed word) spline_8seg::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::b.y with member variable reference (signed word) spline_8seg::b_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::a.x with member variable reference (signed word) spline_8seg::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::a.y with member variable reference (signed word) spline_8seg::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.x with member variable reference (signed word) spline_8seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.y with member variable reference (signed word) spline_8seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.x with member variable reference (signed dword) spline_8seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.y with member variable reference (signed dword) spline_8seg::p_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.x with member variable reference (signed dword) spline_8seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::i.x with member variable reference (signed dword) spline_8seg::i_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.y with member variable reference (signed dword) spline_8seg::p_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::i.y with member variable reference (signed dword) spline_8seg::i_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::i.x with member variable reference (signed dword) spline_8seg::i_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::j.x with member variable reference (signed dword) spline_8seg::j_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::i.y with member variable reference (signed dword) spline_8seg::i_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::j.y with member variable reference (signed dword) spline_8seg::j_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.x with member variable reference (signed dword) spline_8seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.y with member variable reference (signed dword) spline_8seg::p_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.x with member variable reference (signed word) spline_8segB::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p2.x with member variable reference (signed word) spline_8segB::p2_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.x with member variable reference (signed word) spline_8segB::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.y with member variable reference (signed word) spline_8segB::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p2.y with member variable reference (signed word) spline_8segB::p2_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.y with member variable reference (signed word) spline_8segB::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.x with member variable reference (signed word) spline_8segB::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.x with member variable reference (signed word) spline_8segB::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.y with member variable reference (signed word) spline_8segB::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.y with member variable reference (signed word) spline_8segB::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::b.x with member variable reference (signed word) spline_8segB::b_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::a.x with member variable reference (signed word) spline_8segB::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::b.y with member variable reference (signed word) spline_8segB::b_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::a.y with member variable reference (signed word) spline_8segB::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::a.x with member variable reference (signed word) spline_8segB::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::a.y with member variable reference (signed word) spline_8segB::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.x with member variable reference (signed word) spline_8segB::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.y with member variable reference (signed word) spline_8segB::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.x with member variable reference (signed word) spline_8segB::p_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.y with member variable reference (signed word) spline_8segB::p_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.x with member variable reference (signed word) spline_8segB::p_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::i.x with member variable reference (signed word) spline_8segB::i_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.y with member variable reference (signed word) spline_8segB::p_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::i.y with member variable reference (signed word) spline_8segB::i_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::i.x with member variable reference (signed word) spline_8segB::i_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::j.x with member variable reference (signed word) spline_8segB::j_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::i.y with member variable reference (signed word) spline_8segB::i_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::j.y with member variable reference (signed word) spline_8segB::j_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.x with member variable reference (signed word) spline_8segB::p_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.y with member variable reference (signed word) spline_8segB::p_y
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::to.x with member variable reference (signed word) show_letter::to_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::to.y with member variable reference (signed word) show_letter::to_y
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::to.x with member variable reference (signed word) show_letter::to_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::to.y with member variable reference (signed word) show_letter::to_y
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::via.x with member variable reference (signed word) show_letter::via_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::via.y with member variable reference (signed word) show_letter::via_y
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::via.x with member variable reference (signed word) show_letter::via_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::via.y with member variable reference (signed word) show_letter::via_y
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.type with member variable reference (byte) show_letter::segment_type
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member variable reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.type with member variable reference (byte) show_letter::segment_type
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.via with member variable reference (struct SplineVector16) show_letter::segment_via
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member variable reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member variable reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::current.x with member variable reference (signed word) show_letter::current_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::current.y with member variable reference (signed word) show_letter::current_y
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member variable reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member variable reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member variable reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct SplineVector16) bitmap_plot_spline_8seg::current.x with member variable reference (signed word) bitmap_plot_spline_8seg::current_x
|
||||
Replacing struct member reference (struct SplineVector16) bitmap_plot_spline_8seg::current.y with member variable reference (signed word) bitmap_plot_spline_8seg::current_y
|
||||
Replacing struct member reference (struct SplineVector16) rotate::vector.x with member variable reference (signed word) rotate::vector_x
|
||||
Replacing struct member reference (struct SplineVector16) rotate::vector.y with member variable reference (signed word) rotate::vector_y
|
||||
Replacing struct member reference (struct SplineVector16) rotate::vector.y with member variable reference (signed word) rotate::vector_y
|
||||
Replacing struct member reference (struct SplineVector16) rotate::vector.x with member variable reference (signed word) rotate::vector_x
|
||||
Converted procedure struct return value to member unwinding return { (signed word) rotate::return_x, (signed word) rotate::return_y }
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.x with member unwinding reference (signed word) spline_16seg::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p2.x with member unwinding reference (signed word) spline_16seg::p2_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.x with member unwinding reference (signed word) spline_16seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.y with member unwinding reference (signed word) spline_16seg::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p2.y with member unwinding reference (signed word) spline_16seg::p2_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.y with member unwinding reference (signed word) spline_16seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.x with member unwinding reference (signed word) spline_16seg::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.x with member unwinding reference (signed word) spline_16seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p1.y with member unwinding reference (signed word) spline_16seg::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.y with member unwinding reference (signed word) spline_16seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::a.x with member unwinding reference (signed word) spline_16seg::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::b.x with member unwinding reference (signed word) spline_16seg::b_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::a.y with member unwinding reference (signed word) spline_16seg::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::b.y with member unwinding reference (signed word) spline_16seg::b_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::a.x with member unwinding reference (signed word) spline_16seg::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::a.y with member unwinding reference (signed word) spline_16seg::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.x with member unwinding reference (signed word) spline_16seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_16seg::p0.y with member unwinding reference (signed word) spline_16seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.x with member unwinding reference (signed dword) spline_16seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.y with member unwinding reference (signed dword) spline_16seg::p_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.x with member unwinding reference (signed dword) spline_16seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::i.x with member unwinding reference (signed dword) spline_16seg::i_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.y with member unwinding reference (signed dword) spline_16seg::p_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::i.y with member unwinding reference (signed dword) spline_16seg::i_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::i.x with member unwinding reference (signed dword) spline_16seg::i_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::j.x with member unwinding reference (signed dword) spline_16seg::j_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::i.y with member unwinding reference (signed dword) spline_16seg::i_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::j.y with member unwinding reference (signed dword) spline_16seg::j_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.x with member unwinding reference (signed dword) spline_16seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_16seg::p.y with member unwinding reference (signed dword) spline_16seg::p_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.x with member unwinding reference (signed word) spline_8seg::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p2.x with member unwinding reference (signed word) spline_8seg::p2_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.x with member unwinding reference (signed word) spline_8seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.y with member unwinding reference (signed word) spline_8seg::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p2.y with member unwinding reference (signed word) spline_8seg::p2_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.y with member unwinding reference (signed word) spline_8seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.x with member unwinding reference (signed word) spline_8seg::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.x with member unwinding reference (signed word) spline_8seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p1.y with member unwinding reference (signed word) spline_8seg::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.y with member unwinding reference (signed word) spline_8seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::a.x with member unwinding reference (signed word) spline_8seg::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::b.x with member unwinding reference (signed word) spline_8seg::b_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::a.y with member unwinding reference (signed word) spline_8seg::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::b.y with member unwinding reference (signed word) spline_8seg::b_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::a.x with member unwinding reference (signed word) spline_8seg::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::a.y with member unwinding reference (signed word) spline_8seg::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.x with member unwinding reference (signed word) spline_8seg::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8seg::p0.y with member unwinding reference (signed word) spline_8seg::p0_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.x with member unwinding reference (signed dword) spline_8seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.y with member unwinding reference (signed dword) spline_8seg::p_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.x with member unwinding reference (signed dword) spline_8seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::i.x with member unwinding reference (signed dword) spline_8seg::i_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.y with member unwinding reference (signed dword) spline_8seg::p_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::i.y with member unwinding reference (signed dword) spline_8seg::i_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::i.x with member unwinding reference (signed dword) spline_8seg::i_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::j.x with member unwinding reference (signed dword) spline_8seg::j_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::i.y with member unwinding reference (signed dword) spline_8seg::i_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::j.y with member unwinding reference (signed dword) spline_8seg::j_y
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.x with member unwinding reference (signed dword) spline_8seg::p_x
|
||||
Replacing struct member reference (struct SplineVector32) spline_8seg::p.y with member unwinding reference (signed dword) spline_8seg::p_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.x with member unwinding reference (signed word) spline_8segB::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p2.x with member unwinding reference (signed word) spline_8segB::p2_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.x with member unwinding reference (signed word) spline_8segB::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.y with member unwinding reference (signed word) spline_8segB::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p2.y with member unwinding reference (signed word) spline_8segB::p2_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.y with member unwinding reference (signed word) spline_8segB::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.x with member unwinding reference (signed word) spline_8segB::p1_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.x with member unwinding reference (signed word) spline_8segB::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p1.y with member unwinding reference (signed word) spline_8segB::p1_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.y with member unwinding reference (signed word) spline_8segB::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::b.x with member unwinding reference (signed word) spline_8segB::b_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::a.x with member unwinding reference (signed word) spline_8segB::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::b.y with member unwinding reference (signed word) spline_8segB::b_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::a.y with member unwinding reference (signed word) spline_8segB::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::a.x with member unwinding reference (signed word) spline_8segB::a_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::a.y with member unwinding reference (signed word) spline_8segB::a_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.x with member unwinding reference (signed word) spline_8segB::p0_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p0.y with member unwinding reference (signed word) spline_8segB::p0_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.x with member unwinding reference (signed word) spline_8segB::p_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.y with member unwinding reference (signed word) spline_8segB::p_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.x with member unwinding reference (signed word) spline_8segB::p_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::i.x with member unwinding reference (signed word) spline_8segB::i_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.y with member unwinding reference (signed word) spline_8segB::p_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::i.y with member unwinding reference (signed word) spline_8segB::i_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::i.x with member unwinding reference (signed word) spline_8segB::i_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::j.x with member unwinding reference (signed word) spline_8segB::j_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::i.y with member unwinding reference (signed word) spline_8segB::i_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::j.y with member unwinding reference (signed word) spline_8segB::j_y
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.x with member unwinding reference (signed word) spline_8segB::p_x
|
||||
Replacing struct member reference (struct SplineVector16) spline_8segB::p.y with member unwinding reference (signed word) spline_8segB::p_y
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::to.x with member unwinding reference (signed word) show_letter::to_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::to.y with member unwinding reference (signed word) show_letter::to_y
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::to.x with member unwinding reference (signed word) show_letter::to_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::to.y with member unwinding reference (signed word) show_letter::to_y
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::via.x with member unwinding reference (signed word) show_letter::via_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::via.y with member unwinding reference (signed word) show_letter::via_y
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::via.x with member unwinding reference (signed word) show_letter::via_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::via.y with member unwinding reference (signed word) show_letter::via_y
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.type with member unwinding reference (byte) show_letter::segment_type
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member unwinding reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.type with member unwinding reference (byte) show_letter::segment_type
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.via with member unwinding reference (struct SplineVector16) show_letter::segment_via
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member unwinding reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member unwinding reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::current.x with member unwinding reference (signed word) show_letter::current_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::current.y with member unwinding reference (signed word) show_letter::current_y
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member unwinding reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member unwinding reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct Segment) show_letter::segment.to with member unwinding reference (struct SplineVector16) show_letter::segment_to
|
||||
Replacing struct member reference (struct SplineVector16) bitmap_plot_spline_8seg::current.x with member unwinding reference (signed word) bitmap_plot_spline_8seg::current_x
|
||||
Replacing struct member reference (struct SplineVector16) bitmap_plot_spline_8seg::current.y with member unwinding reference (signed word) bitmap_plot_spline_8seg::current_y
|
||||
Replacing struct member reference (struct SplineVector16) rotate::vector.x with member unwinding reference (signed word) rotate::vector_x
|
||||
Replacing struct member reference (struct SplineVector16) rotate::vector.y with member unwinding reference (signed word) rotate::vector_y
|
||||
Replacing struct member reference (struct SplineVector16) rotate::vector.y with member unwinding reference (signed word) rotate::vector_y
|
||||
Replacing struct member reference (struct SplineVector16) rotate::vector.x with member unwinding reference (signed word) rotate::vector_x
|
||||
Created struct value member variable (signed word) show_letter::segment_to_x
|
||||
Created struct value member variable (signed word) show_letter::segment_to_y
|
||||
Converted struct value to member variables (struct SplineVector16) show_letter::segment_to
|
||||
@ -519,13 +519,13 @@ Adding struct value member variable copy (signed word) show_letter::segment_via_
|
||||
Adding struct value member variable copy (signed word) show_letter::segment_via_y ← (signed word) show_letter::via_y
|
||||
Adding struct value member variable copy (signed word) show_letter::current_x ← (signed word) show_letter::segment_to_x
|
||||
Adding struct value member variable copy (signed word) show_letter::current_y ← (signed word) show_letter::segment_to_y
|
||||
Converted procedure struct value parameter to member variables in call (void~) show_letter::$17 ← call spline_8segB (signed word) show_letter::current_x (signed word) show_letter::current_y (signed word) show_letter::segment_via_x (signed word) show_letter::segment_via_y (signed word) show_letter::segment_to_x (signed word) show_letter::segment_to_y
|
||||
Converted procedure struct value parameter to member unwinding in call (void~) show_letter::$17 ← call spline_8segB (signed word) show_letter::current_x (signed word) show_letter::current_y (signed word) show_letter::segment_via_x (signed word) show_letter::segment_via_y (signed word) show_letter::segment_to_x (signed word) show_letter::segment_to_y
|
||||
Adding struct value member variable copy (signed word) show_letter::current_x ← (signed word) show_letter::segment_to_x
|
||||
Adding struct value member variable copy (signed word) show_letter::current_y ← (signed word) show_letter::segment_to_y
|
||||
Adding struct value member variable copy (signed word) show_letter::current_x ← (signed word) show_letter::segment_to_x
|
||||
Adding struct value member variable copy (signed word) show_letter::current_y ← (signed word) show_letter::segment_to_y
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::segment_to.x with member variable reference (signed word) show_letter::segment_to_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::segment_to.y with member variable reference (signed word) show_letter::segment_to_y
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::segment_to.x with member unwinding reference (signed word) show_letter::segment_to_x
|
||||
Replacing struct member reference (struct SplineVector16) show_letter::segment_to.y with member unwinding reference (signed word) show_letter::segment_to_y
|
||||
Rewriting struct pointer member access *((struct Segment[$16]) letter_c + (byte~) show_letter::$20).to
|
||||
Rewriting struct pointer member access *((struct Segment[$16]) letter_c + (byte~) show_letter::$20).to
|
||||
Rewriting struct pointer member access *((struct Segment[$16]) letter_c + (byte~) show_letter::$21).via
|
||||
|
@ -3,8 +3,8 @@ Created struct value member variable (byte) main::button_size
|
||||
Converted struct value to member variables (struct Button) main::button
|
||||
Adding struct value list initializer (byte) main::button_color ← (const byte) RED
|
||||
Adding struct value list initializer (byte) main::button_size ← (number) $18
|
||||
Replacing struct member reference (struct Button) main::button.color with member variable reference (byte) main::button_color
|
||||
Replacing struct member reference (struct Button) main::button.size with member variable reference (byte) main::button_size
|
||||
Replacing struct member reference (struct Button) main::button.color with member unwinding reference (byte) main::button_color
|
||||
Replacing struct member reference (struct Button) main::button.size with member unwinding reference (byte) main::button_size
|
||||
Identified constant variable (byte) main::button_color
|
||||
Identified constant variable (byte) main::button_size
|
||||
|
||||
|
@ -3,8 +3,8 @@ Created struct value member variable (byte) main::button_size
|
||||
Converted struct value to member variables (struct Button) main::button
|
||||
Adding struct value list initializer (byte) main::button_color ← (const byte) RED
|
||||
Adding struct value list initializer (byte) main::button_size ← (number) $18
|
||||
Replacing struct member reference (struct Button) main::button.color with member variable reference (byte) main::button_color
|
||||
Replacing struct member reference (struct Button) main::button.size with member variable reference (byte) main::button_size
|
||||
Replacing struct member reference (struct Button) main::button.color with member unwinding reference (byte) main::button_color
|
||||
Replacing struct member reference (struct Button) main::button.size with member unwinding reference (byte) main::button_size
|
||||
Identified constant variable (byte) main::button_color
|
||||
Identified constant variable (byte) main::button_size
|
||||
|
||||
|
@ -4,14 +4,14 @@ Fixing pointer array-indexing *((struct Point[2]) points + (byte) main::i)
|
||||
Created struct value member variable (byte) print::p_x
|
||||
Created struct value member variable (byte) print::p_y
|
||||
Converted struct value to member variables (struct Point) print::p
|
||||
Converted procedure struct value parameter to member variables (void()) print((byte) print::p_x , (byte) print::p_y)
|
||||
Converted procedure struct value parameter to member unwinding (void()) print((byte) print::p_x , (byte) print::p_y)
|
||||
Adding struct value list initializer *((byte*) main::$5 + (number~) main::$2) ← (number) 1
|
||||
Adding struct value list initializer *((byte*) main::$6 + (number~) main::$2) ← (number) 2
|
||||
Adding struct value list initializer *((byte*) main::$7 + (number~) main::$3) ← (number) 3
|
||||
Adding struct value list initializer *((byte*) main::$8 + (number~) main::$3) ← (number) 4
|
||||
Converted procedure struct value parameter to member variables in call (void~) main::$0 ← call print *((byte*) main::$9 + (byte~) main::$4) *((byte*) main::$10 + (byte~) main::$4)
|
||||
Replacing struct member reference (struct Point) print::p.x with member variable reference (byte) print::p_x
|
||||
Replacing struct member reference (struct Point) print::p.y with member variable reference (byte) print::p_y
|
||||
Converted procedure struct value parameter to member unwinding in call (void~) main::$0 ← call print *((byte*) main::$9 + (byte~) main::$4) *((byte*) main::$10 + (byte~) main::$4)
|
||||
Replacing struct member reference (struct Point) print::p.x with member unwinding reference (byte) print::p_x
|
||||
Replacing struct member reference (struct Point) print::p.y with member unwinding reference (byte) print::p_y
|
||||
Culled Empty Block (label) main::@2
|
||||
Culled Empty Block (label) @1
|
||||
|
||||
|
@ -5,7 +5,7 @@ Fixing pointer array-indexing *((word*) main::SCREEN + (number) 1)
|
||||
Created struct value member variable (word*) main::info_values
|
||||
Converted struct value to member variables (struct RadixInfo) main::info
|
||||
Adding struct value list initializer (word*) main::info_values ← (word[]) RADIX_DECIMAL_VALUES
|
||||
Replacing struct member reference (struct RadixInfo) main::info.values with member variable reference (word*) main::info_values
|
||||
Replacing struct member reference (struct RadixInfo) main::info.values with member unwinding reference (word*) main::info_values
|
||||
|
||||
CONTROL FLOW GRAPH SSA
|
||||
@begin: scope:[] from
|
||||
|
@ -5,13 +5,13 @@ Converted struct value to member variables (struct Point) main::point
|
||||
Created struct value member variable (byte) print::p_x
|
||||
Created struct value member variable (byte) print::p_y
|
||||
Converted struct value to member variables (struct Point) print::p
|
||||
Converted procedure struct value parameter to member variables (void()) print((byte) print::p_x , (byte) print::p_y)
|
||||
Converted procedure struct value parameter to member unwinding (void()) print((byte) print::p_x , (byte) print::p_y)
|
||||
Adding struct value list initializer (byte) main::point_x ← (number) 1
|
||||
Adding struct value list initializer (byte) main::point_y ← (number) 2
|
||||
Converted procedure struct value parameter to member variables in call (void~) main::$1 ← call print (byte) main::point_x (byte) main::point_y
|
||||
Converted procedure struct value parameter to member variables in call (void~) main::$2 ← call print *((byte*) main::$3) *((byte*) main::$4)
|
||||
Replacing struct member reference (struct Point) print::p.x with member variable reference (byte) print::p_x
|
||||
Replacing struct member reference (struct Point) print::p.y with member variable reference (byte) print::p_y
|
||||
Converted procedure struct value parameter to member unwinding in call (void~) main::$1 ← call print (byte) main::point_x (byte) main::point_y
|
||||
Converted procedure struct value parameter to member unwinding in call (void~) main::$2 ← call print *((byte*) main::$3) *((byte*) main::$4)
|
||||
Replacing struct member reference (struct Point) print::p.x with member unwinding reference (byte) print::p_x
|
||||
Replacing struct member reference (struct Point) print::p.y with member unwinding reference (byte) print::p_y
|
||||
Culled Empty Block (label) @1
|
||||
Adding versioned struct unwinding for (struct Point) main::point#0
|
||||
|
||||
|
@ -3,10 +3,10 @@ Created struct value member variable (byte) point_y
|
||||
Converted struct value to member variables (struct Point) point
|
||||
Adding struct value member variable default initializer (byte) point_x ← (byte) 0
|
||||
Adding struct value member variable default initializer (byte) point_y ← (byte) 0
|
||||
Replacing struct member reference (struct Point) point.x with member variable reference (byte) point_x
|
||||
Replacing struct member reference (struct Point) point.y with member variable reference (byte) point_y
|
||||
Replacing struct member reference (struct Point) point.x with member variable reference (byte) point_x
|
||||
Replacing struct member reference (struct Point) point.y with member variable reference (byte) point_y
|
||||
Replacing struct member reference (struct Point) point.x with member unwinding reference (byte) point_x
|
||||
Replacing struct member reference (struct Point) point.y with member unwinding reference (byte) point_y
|
||||
Replacing struct member reference (struct Point) point.x with member unwinding reference (byte) point_x
|
||||
Replacing struct member reference (struct Point) point.y with member unwinding reference (byte) point_y
|
||||
|
||||
CONTROL FLOW GRAPH SSA
|
||||
@begin: scope:[] from
|
||||
|
@ -8,14 +8,14 @@ Adding struct value member variable default initializer (byte) point1_x ← (byt
|
||||
Adding struct value member variable default initializer (byte) point1_y ← (byte) 0
|
||||
Adding struct value member variable default initializer (byte) point2_x ← (byte) 0
|
||||
Adding struct value member variable default initializer (byte) point2_y ← (byte) 0
|
||||
Replacing struct member reference (struct Point) point1.x with member variable reference (byte) point1_x
|
||||
Replacing struct member reference (struct Point) point1.y with member variable reference (byte) point1_y
|
||||
Replacing struct member reference (struct Point) point1.y with member variable reference (byte) point1_y
|
||||
Replacing struct member reference (struct Point) point2.x with member variable reference (byte) point2_x
|
||||
Replacing struct member reference (struct Point) point1.x with member variable reference (byte) point1_x
|
||||
Replacing struct member reference (struct Point) point2.y with member variable reference (byte) point2_y
|
||||
Replacing struct member reference (struct Point) point2.x with member variable reference (byte) point2_x
|
||||
Replacing struct member reference (struct Point) point2.y with member variable reference (byte) point2_y
|
||||
Replacing struct member reference (struct Point) point1.x with member unwinding reference (byte) point1_x
|
||||
Replacing struct member reference (struct Point) point1.y with member unwinding reference (byte) point1_y
|
||||
Replacing struct member reference (struct Point) point1.y with member unwinding reference (byte) point1_y
|
||||
Replacing struct member reference (struct Point) point2.x with member unwinding reference (byte) point2_x
|
||||
Replacing struct member reference (struct Point) point1.x with member unwinding reference (byte) point1_x
|
||||
Replacing struct member reference (struct Point) point2.y with member unwinding reference (byte) point2_y
|
||||
Replacing struct member reference (struct Point) point2.x with member unwinding reference (byte) point2_x
|
||||
Replacing struct member reference (struct Point) point2.y with member unwinding reference (byte) point2_y
|
||||
|
||||
CONTROL FLOW GRAPH SSA
|
||||
@begin: scope:[] from
|
||||
|
@ -10,13 +10,13 @@ Adding struct value member variable default initializer (byte) point2_x ← (byt
|
||||
Adding struct value member variable default initializer (byte) point2_y ← (byte) 0
|
||||
Adding struct value member variable copy (byte) point2_x ← (byte) point1_x
|
||||
Adding struct value member variable copy (byte) point2_y ← (byte) point1_y
|
||||
Replacing struct member reference (struct Point) point1.x with member variable reference (byte) point1_x
|
||||
Replacing struct member reference (struct Point) point1.y with member variable reference (byte) point1_y
|
||||
Replacing struct member reference (struct Point) point2.x with member variable reference (byte) point2_x
|
||||
Replacing struct member reference (struct Point) point1.x with member variable reference (byte) point1_x
|
||||
Replacing struct member reference (struct Point) point1.y with member variable reference (byte) point1_y
|
||||
Replacing struct member reference (struct Point) point2.x with member variable reference (byte) point2_x
|
||||
Replacing struct member reference (struct Point) point2.y with member variable reference (byte) point2_y
|
||||
Replacing struct member reference (struct Point) point1.x with member unwinding reference (byte) point1_x
|
||||
Replacing struct member reference (struct Point) point1.y with member unwinding reference (byte) point1_y
|
||||
Replacing struct member reference (struct Point) point2.x with member unwinding reference (byte) point2_x
|
||||
Replacing struct member reference (struct Point) point1.x with member unwinding reference (byte) point1_x
|
||||
Replacing struct member reference (struct Point) point1.y with member unwinding reference (byte) point1_y
|
||||
Replacing struct member reference (struct Point) point2.x with member unwinding reference (byte) point2_x
|
||||
Replacing struct member reference (struct Point) point2.y with member unwinding reference (byte) point2_y
|
||||
|
||||
CONTROL FLOW GRAPH SSA
|
||||
@begin: scope:[] from
|
||||
|
@ -4,16 +4,16 @@ Converted struct value to member variables (struct Point) main::p1
|
||||
Created struct value member variable (byte) print::p_x
|
||||
Created struct value member variable (byte) print::p_y
|
||||
Converted struct value to member variables (struct Point) print::p
|
||||
Converted procedure struct value parameter to member variables (void()) print((byte) print::p_x , (byte) print::p_y)
|
||||
Converted procedure struct value parameter to member unwinding (void()) print((byte) print::p_x , (byte) print::p_y)
|
||||
Adding struct value member variable default initializer (byte) main::p1_x ← (byte) 0
|
||||
Adding struct value member variable default initializer (byte) main::p1_y ← (byte) 0
|
||||
Converted procedure struct value parameter to member variables in call (void~) main::$0 ← call print (byte) main::p1_x (byte) main::p1_y
|
||||
Converted procedure struct value parameter to member variables in call (void~) main::$1 ← call print (byte) main::p1_x (byte) main::p1_y
|
||||
Replacing struct member reference (struct Point) main::p1.x with member variable reference (byte) main::p1_x
|
||||
Replacing struct member reference (struct Point) main::p1.y with member variable reference (byte) main::p1_y
|
||||
Replacing struct member reference (struct Point) main::p1.x with member variable reference (byte) main::p1_x
|
||||
Replacing struct member reference (struct Point) print::p.x with member variable reference (byte) print::p_x
|
||||
Replacing struct member reference (struct Point) print::p.y with member variable reference (byte) print::p_y
|
||||
Converted procedure struct value parameter to member unwinding in call (void~) main::$0 ← call print (byte) main::p1_x (byte) main::p1_y
|
||||
Converted procedure struct value parameter to member unwinding in call (void~) main::$1 ← call print (byte) main::p1_x (byte) main::p1_y
|
||||
Replacing struct member reference (struct Point) main::p1.x with member unwinding reference (byte) main::p1_x
|
||||
Replacing struct member reference (struct Point) main::p1.y with member unwinding reference (byte) main::p1_y
|
||||
Replacing struct member reference (struct Point) main::p1.x with member unwinding reference (byte) main::p1_x
|
||||
Replacing struct member reference (struct Point) print::p.x with member unwinding reference (byte) print::p_x
|
||||
Replacing struct member reference (struct Point) print::p.y with member unwinding reference (byte) print::p_y
|
||||
|
||||
CONTROL FLOW GRAPH SSA
|
||||
@begin: scope:[] from
|
||||
|
@ -3,8 +3,8 @@ Created struct value member variable (byte) main::p_y
|
||||
Converted struct value to member variables (struct Point) main::p
|
||||
Adding struct value list initializer (byte) main::p_x ← (byte) main::x
|
||||
Adding struct value list initializer (byte) main::p_y ← (number~) main::$0
|
||||
Replacing struct member reference (struct Point) main::p.x with member variable reference (byte) main::p_x
|
||||
Replacing struct member reference (struct Point) main::p.y with member variable reference (byte) main::p_y
|
||||
Replacing struct member reference (struct Point) main::p.x with member unwinding reference (byte) main::p_x
|
||||
Replacing struct member reference (struct Point) main::p.y with member unwinding reference (byte) main::p_y
|
||||
Identified constant variable (byte) main::x
|
||||
Identified constant variable (byte) main::y
|
||||
|
||||
|
@ -12,7 +12,7 @@ Created struct value member variable (byte) point::p_y
|
||||
Converted struct value to member variables (struct Point) point::p
|
||||
Adding struct value member variable default initializer (byte) main::q_x ← (byte) 0
|
||||
Adding struct value member variable default initializer (byte) main::q_y ← (byte) 0
|
||||
Converted procedure call LValue to member variables { (byte) main::$0_x, (byte) main::$0_y } ← call point
|
||||
Converted procedure call LValue to member unwinding { (byte) main::$0_x, (byte) main::$0_y } ← call point
|
||||
Adding struct value member variable copy (byte) main::q_x ← (byte) main::$0_x
|
||||
Adding struct value member variable copy (byte) main::q_y ← (byte) main::$0_y
|
||||
Adding struct value list initializer (byte) point::p_x ← (number) 2
|
||||
@ -21,9 +21,9 @@ Adding struct value member variable copy (byte) point::return_x ← (byte) point
|
||||
Adding struct value member variable copy (byte) point::return_y ← (byte) point::p_y
|
||||
Adding struct value member variable copy (byte) point::return_x ← (byte) point::return_x
|
||||
Adding struct value member variable copy (byte) point::return_y ← (byte) point::return_y
|
||||
Converted procedure struct return value to member variables return { (byte) point::return_x, (byte) point::return_y }
|
||||
Replacing struct member reference (struct Point) main::q.x with member variable reference (byte) main::q_x
|
||||
Replacing struct member reference (struct Point) main::q.y with member variable reference (byte) main::q_y
|
||||
Converted procedure struct return value to member unwinding return { (byte) point::return_x, (byte) point::return_y }
|
||||
Replacing struct member reference (struct Point) main::q.x with member unwinding reference (byte) main::q_x
|
||||
Replacing struct member reference (struct Point) main::q.y with member unwinding reference (byte) main::q_y
|
||||
Identified constant variable (byte) point::p_x
|
||||
Identified constant variable (byte) point::p_y
|
||||
Culled Empty Block (label) @1
|
||||
|
@ -8,16 +8,16 @@ Adding struct value list initializer (byte) main::p_x ← (number) $a
|
||||
Adding struct value list initializer (byte) main::p_y ← (number) $a
|
||||
Adding struct value list initializer (struct Point) main::c_center ← (struct Point) main::p
|
||||
Adding struct value list initializer (byte) main::c_radius ← (number) 5
|
||||
Replacing struct member reference (struct Circle) main::c.center with member variable reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Circle) main::c.center with member variable reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Circle) main::c.radius with member variable reference (byte) main::c_radius
|
||||
Replacing struct member reference (struct Circle) main::c.center with member unwinding reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Circle) main::c.center with member unwinding reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Circle) main::c.radius with member unwinding reference (byte) main::c_radius
|
||||
Created struct value member variable (byte) main::c_center_x
|
||||
Created struct value member variable (byte) main::c_center_y
|
||||
Converted struct value to member variables (struct Point) main::c_center
|
||||
Adding struct value member variable copy (byte) main::c_center_x ← (byte) main::p_x
|
||||
Adding struct value member variable copy (byte) main::c_center_y ← (byte) main::p_y
|
||||
Replacing struct member reference (struct Point) main::c_center.x with member variable reference (byte) main::c_center_x
|
||||
Replacing struct member reference (struct Point) main::c_center.y with member variable reference (byte) main::c_center_y
|
||||
Replacing struct member reference (struct Point) main::c_center.x with member unwinding reference (byte) main::c_center_x
|
||||
Replacing struct member reference (struct Point) main::c_center.y with member unwinding reference (byte) main::c_center_y
|
||||
Identified constant variable (byte) main::p_x
|
||||
Identified constant variable (byte) main::p_y
|
||||
Identified constant variable (byte) main::c_radius
|
||||
|
@ -3,12 +3,12 @@ Created struct value member variable (struct Circle) main::t_c2
|
||||
Converted struct value to member variables (struct TwoCircles) main::t
|
||||
Adding struct value list initializer (struct Circle) main::t_c1 ← { { (number) 1, (number) 2 }, (number) 3 }
|
||||
Adding struct value list initializer (struct Circle) main::t_c2 ← { { (number) 4, (number) 5 }, (number) 6 }
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c1 with member variable reference (struct Circle) main::t_c1
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c1 with member variable reference (struct Circle) main::t_c1
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c1 with member variable reference (struct Circle) main::t_c1
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c2 with member variable reference (struct Circle) main::t_c2
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c2 with member variable reference (struct Circle) main::t_c2
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c2 with member variable reference (struct Circle) main::t_c2
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c1 with member unwinding reference (struct Circle) main::t_c1
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c1 with member unwinding reference (struct Circle) main::t_c1
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c1 with member unwinding reference (struct Circle) main::t_c1
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c2 with member unwinding reference (struct Circle) main::t_c2
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c2 with member unwinding reference (struct Circle) main::t_c2
|
||||
Replacing struct member reference (struct TwoCircles) main::t.c2 with member unwinding reference (struct Circle) main::t_c2
|
||||
Created struct value member variable (struct Point) main::t_c1_center
|
||||
Created struct value member variable (byte) main::t_c1_radius
|
||||
Converted struct value to member variables (struct Circle) main::t_c1
|
||||
@ -19,12 +19,12 @@ Adding struct value list initializer (struct Point) main::t_c1_center ← { (num
|
||||
Adding struct value list initializer (byte) main::t_c1_radius ← (number) 3
|
||||
Adding struct value list initializer (struct Point) main::t_c2_center ← { (number) 4, (number) 5 }
|
||||
Adding struct value list initializer (byte) main::t_c2_radius ← (number) 6
|
||||
Replacing struct member reference (struct Circle) main::t_c1.center with member variable reference (struct Point) main::t_c1_center
|
||||
Replacing struct member reference (struct Circle) main::t_c1.center with member variable reference (struct Point) main::t_c1_center
|
||||
Replacing struct member reference (struct Circle) main::t_c1.radius with member variable reference (byte) main::t_c1_radius
|
||||
Replacing struct member reference (struct Circle) main::t_c2.center with member variable reference (struct Point) main::t_c2_center
|
||||
Replacing struct member reference (struct Circle) main::t_c2.center with member variable reference (struct Point) main::t_c2_center
|
||||
Replacing struct member reference (struct Circle) main::t_c2.radius with member variable reference (byte) main::t_c2_radius
|
||||
Replacing struct member reference (struct Circle) main::t_c1.center with member unwinding reference (struct Point) main::t_c1_center
|
||||
Replacing struct member reference (struct Circle) main::t_c1.center with member unwinding reference (struct Point) main::t_c1_center
|
||||
Replacing struct member reference (struct Circle) main::t_c1.radius with member unwinding reference (byte) main::t_c1_radius
|
||||
Replacing struct member reference (struct Circle) main::t_c2.center with member unwinding reference (struct Point) main::t_c2_center
|
||||
Replacing struct member reference (struct Circle) main::t_c2.center with member unwinding reference (struct Point) main::t_c2_center
|
||||
Replacing struct member reference (struct Circle) main::t_c2.radius with member unwinding reference (byte) main::t_c2_radius
|
||||
Created struct value member variable (byte) main::t_c1_center_x
|
||||
Created struct value member variable (byte) main::t_c1_center_y
|
||||
Converted struct value to member variables (struct Point) main::t_c1_center
|
||||
@ -35,10 +35,10 @@ Adding struct value list initializer (byte) main::t_c1_center_x ← (number) 1
|
||||
Adding struct value list initializer (byte) main::t_c1_center_y ← (number) 2
|
||||
Adding struct value list initializer (byte) main::t_c2_center_x ← (number) 4
|
||||
Adding struct value list initializer (byte) main::t_c2_center_y ← (number) 5
|
||||
Replacing struct member reference (struct Point) main::t_c1_center.x with member variable reference (byte) main::t_c1_center_x
|
||||
Replacing struct member reference (struct Point) main::t_c1_center.y with member variable reference (byte) main::t_c1_center_y
|
||||
Replacing struct member reference (struct Point) main::t_c2_center.x with member variable reference (byte) main::t_c2_center_x
|
||||
Replacing struct member reference (struct Point) main::t_c2_center.y with member variable reference (byte) main::t_c2_center_y
|
||||
Replacing struct member reference (struct Point) main::t_c1_center.x with member unwinding reference (byte) main::t_c1_center_x
|
||||
Replacing struct member reference (struct Point) main::t_c1_center.y with member unwinding reference (byte) main::t_c1_center_y
|
||||
Replacing struct member reference (struct Point) main::t_c2_center.x with member unwinding reference (byte) main::t_c2_center_x
|
||||
Replacing struct member reference (struct Point) main::t_c2_center.y with member unwinding reference (byte) main::t_c2_center_y
|
||||
Identified constant variable (byte) main::t_c1_radius
|
||||
Identified constant variable (byte) main::t_c2_radius
|
||||
Identified constant variable (byte) main::t_c1_center_x
|
||||
|
@ -11,10 +11,10 @@ Adding struct value list initializer (byte) main::p_x ← (number) $a
|
||||
Adding struct value list initializer (byte) main::p_y ← (number) $a
|
||||
Adding struct value list initializer (struct Point) main::c_center ← (struct Point) main::p
|
||||
Adding struct value list initializer (byte) main::c_radius ← (number) 5
|
||||
Replacing struct member reference (struct Circle) main::c.center with member variable reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Point) main::point.x with member variable reference (byte) main::point_x
|
||||
Replacing struct member reference (struct Point) main::point.y with member variable reference (byte) main::point_y
|
||||
Replacing struct member reference (struct Circle) main::c.radius with member variable reference (byte) main::c_radius
|
||||
Replacing struct member reference (struct Circle) main::c.center with member unwinding reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Point) main::point.x with member unwinding reference (byte) main::point_x
|
||||
Replacing struct member reference (struct Point) main::point.y with member unwinding reference (byte) main::point_y
|
||||
Replacing struct member reference (struct Circle) main::c.radius with member unwinding reference (byte) main::c_radius
|
||||
Created struct value member variable (byte) main::c_center_x
|
||||
Created struct value member variable (byte) main::c_center_y
|
||||
Converted struct value to member variables (struct Point) main::c_center
|
||||
|
@ -8,11 +8,11 @@ Adding struct value list initializer (byte) main::p_x ← (number) $a
|
||||
Adding struct value list initializer (byte) main::p_y ← (number) $a
|
||||
Adding struct value member variable default initializer (struct Point) main::c_center ← {}
|
||||
Adding struct value member variable default initializer (byte) main::c_radius ← (byte) 0
|
||||
Replacing struct member reference (struct Circle) main::c.center with member variable reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Circle) main::c.radius with member variable reference (byte) main::c_radius
|
||||
Replacing struct member reference (struct Circle) main::c.center with member variable reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Circle) main::c.center with member variable reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Circle) main::c.radius with member variable reference (byte) main::c_radius
|
||||
Replacing struct member reference (struct Circle) main::c.center with member unwinding reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Circle) main::c.radius with member unwinding reference (byte) main::c_radius
|
||||
Replacing struct member reference (struct Circle) main::c.center with member unwinding reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Circle) main::c.center with member unwinding reference (struct Point) main::c_center
|
||||
Replacing struct member reference (struct Circle) main::c.radius with member unwinding reference (byte) main::c_radius
|
||||
Created struct value member variable (byte) main::c_center_x
|
||||
Created struct value member variable (byte) main::c_center_y
|
||||
Converted struct value to member variables (struct Point) main::c_center
|
||||
@ -20,8 +20,8 @@ Adding struct value member variable default initializer (byte) main::c_center_x
|
||||
Adding struct value member variable default initializer (byte) main::c_center_y ← (byte) 0
|
||||
Adding struct value member variable copy (byte) main::c_center_x ← (byte) main::p_x
|
||||
Adding struct value member variable copy (byte) main::c_center_y ← (byte) main::p_y
|
||||
Replacing struct member reference (struct Point) main::c_center.x with member variable reference (byte) main::c_center_x
|
||||
Replacing struct member reference (struct Point) main::c_center.y with member variable reference (byte) main::c_center_y
|
||||
Replacing struct member reference (struct Point) main::c_center.x with member unwinding reference (byte) main::c_center_x
|
||||
Replacing struct member reference (struct Point) main::c_center.y with member unwinding reference (byte) main::c_center_y
|
||||
Identified constant variable (byte) main::p_x
|
||||
Identified constant variable (byte) main::p_y
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user