Avoid some unecessary heap allocations by using llvm's StringRef class.

This commit is contained in:
Benjamin Kramer
2009-08-14 01:43:30 +02:00
parent c220dcac05
commit d24643bb50
4 changed files with 73 additions and 74 deletions

View File

@@ -407,7 +407,7 @@ DValue* StringExp::toElem(IRState* p)
LLConstant* _init;
if (cty->size() == 1) {
uint8_t* str = (uint8_t*)string;
std::string cont((char*)str, len);
llvm::StringRef cont((char*)str, len);
_init = LLConstantArray::get(p->context(), cont, true);
}
else if (cty->size() == 2) {
@@ -478,7 +478,7 @@ LLConstant* StringExp::toConstElem(IRState* p)
LLConstant* _init;
if (cty->size() == 1) {
uint8_t* str = (uint8_t*)string;
std::string cont((char*)str, len);
llvm::StringRef cont((char*)str, len);
_init = LLConstantArray::get(p->context(), cont, nullterm);
}
else if (cty->size() == 2) {