Flutter Engine
The Flutter Engine
|
Public Member Functions | |
SlotManager (std::vector< SlotDebugInfo > *i) | |
void | addSlotDebugInfoForGroup (const std::string &varName, const Type &type, Position pos, int *groupIndex, bool isFunctionReturnValue) |
void | addSlotDebugInfo (const std::string &varName, const Type &type, Position pos, bool isFunctionReturnValue) |
SlotRange | createSlots (std::string name, const Type &type, Position pos, bool isFunctionReturnValue) |
std::optional< SlotRange > | mapVariableToSlots (const Variable &v, SlotRange range) |
void | unmapVariableSlots (const Variable &v) |
SlotRange | getVariableSlots (const Variable &v) |
SlotRange | getFunctionSlots (const IRNode &callSite, const FunctionDeclaration &f) |
int | slotCount () const |
Definition at line 95 of file SkSLRasterPipelineCodeGenerator.cpp.
|
inline |
Definition at line 97 of file SkSLRasterPipelineCodeGenerator.cpp.
void SkSL::RP::SlotManager::addSlotDebugInfo | ( | const std::string & | varName, |
const Type & | type, | ||
Position | pos, | ||
bool | isFunctionReturnValue | ||
) |
Definition at line 1160 of file SkSLRasterPipelineCodeGenerator.cpp.
void SkSL::RP::SlotManager::addSlotDebugInfoForGroup | ( | const std::string & | varName, |
const Type & | type, | ||
Position | pos, | ||
int * | groupIndex, | ||
bool | isFunctionReturnValue | ||
) |
Used by createSlots
to add this variable to SlotDebugInfo inside the DebugTrace.
Definition at line 1109 of file SkSLRasterPipelineCodeGenerator.cpp.
SlotRange SkSL::RP::SlotManager::createSlots | ( | std::string | name, |
const Type & | type, | ||
Position | pos, | ||
bool | isFunctionReturnValue | ||
) |
Creates slots associated with an SkSL variable or return value.
Definition at line 1169 of file SkSLRasterPipelineCodeGenerator.cpp.
SlotRange SkSL::RP::SlotManager::getFunctionSlots | ( | const IRNode & | callSite, |
const FunctionDeclaration & | f | ||
) |
Looks up the slots associated with an SkSL function's return value; creates the range if necessary. Note that recursion is never supported, so we don't need to maintain return values in a stack; we can just statically allocate one slot per function call-site.
Definition at line 1220 of file SkSLRasterPipelineCodeGenerator.cpp.
Looks up the slots associated with an SkSL variable; creates the slot if necessary.
Definition at line 1207 of file SkSLRasterPipelineCodeGenerator.cpp.
std::optional< SlotRange > SkSL::RP::SlotManager::mapVariableToSlots | ( | const Variable & | v, |
SlotRange | range | ||
) |
Associates previously-created slots with an SkSL variable; this can allow multiple variables to share overlapping ranges. If the variable was already associated with a slot range, returns the previously associated range.
Definition at line 1194 of file SkSLRasterPipelineCodeGenerator.cpp.
|
inline |
Returns the total number of slots consumed.
Definition at line 140 of file SkSLRasterPipelineCodeGenerator.cpp.
void SkSL::RP::SlotManager::unmapVariableSlots | ( | const Variable & | v | ) |
Deletes the existing mapping between a variable and its slots; a future call to getVariableSlots
will see this as a brand new variable and associate new slots.
Definition at line 1203 of file SkSLRasterPipelineCodeGenerator.cpp.