mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-23 13:16:42 +00:00
Improve Memory code formatting
This commit is contained in:
parent
3ee33cc699
commit
64513d5aaa
2 changed files with 35 additions and 35 deletions
|
|
@ -31,8 +31,8 @@ Memory::Memory(RuntimeManager& _runtimeManager, GasMeter& _gasMeter):
|
|||
auto i64Ty = m_builder.getInt64Ty();
|
||||
llvm::Type* argTypes[] = {i64Ty, i64Ty};
|
||||
auto dumpTy = llvm::FunctionType::get(m_builder.getVoidTy(), llvm::ArrayRef<llvm::Type*>(argTypes), false);
|
||||
m_memDump = llvm::Function::Create(dumpTy, llvm::GlobalValue::LinkageTypes::ExternalLinkage,
|
||||
"evmccrt_memory_dump", module);
|
||||
m_memDump = llvm::Function::Create(dumpTy, llvm::GlobalValue::LinkageTypes::ExternalLinkage,
|
||||
"evmccrt_memory_dump", module);
|
||||
|
||||
m_data = new llvm::GlobalVariable(*module, Type::BytePtr, false, llvm::GlobalVariable::PrivateLinkage, llvm::UndefValue::get(Type::BytePtr), "mem.data");
|
||||
m_data->setUnnamedAddr(true); // Address is not important
|
||||
|
|
@ -175,7 +175,7 @@ void Memory::require(llvm::Value* _offset, llvm::Value* _size)
|
|||
}
|
||||
|
||||
void Memory::copyBytes(llvm::Value* _srcPtr, llvm::Value* _srcSize, llvm::Value* _srcIdx,
|
||||
llvm::Value* _destMemIdx, llvm::Value* _reqBytes)
|
||||
llvm::Value* _destMemIdx, llvm::Value* _reqBytes)
|
||||
{
|
||||
auto zero256 = llvm::ConstantInt::get(Type::i256, 0);
|
||||
|
||||
|
|
@ -218,38 +218,38 @@ void Memory::dump(uint64_t _begin, uint64_t _end)
|
|||
extern "C"
|
||||
{
|
||||
|
||||
using namespace dev::eth::jit;
|
||||
using namespace dev::eth::jit;
|
||||
|
||||
EXPORT uint8_t* mem_resize(Runtime* _rt, i256* _size)
|
||||
{
|
||||
auto size = _size->a; // Trunc to 64-bit
|
||||
auto& memory = _rt->getMemory();
|
||||
memory.resize(size);
|
||||
return memory.data();
|
||||
}
|
||||
EXPORT uint8_t* mem_resize(Runtime* _rt, i256* _size)
|
||||
{
|
||||
auto size = _size->a; // Trunc to 64-bit
|
||||
auto& memory = _rt->getMemory();
|
||||
memory.resize(size);
|
||||
return memory.data();
|
||||
}
|
||||
|
||||
EXPORT void evmccrt_memory_dump(uint64_t _begin, uint64_t _end)
|
||||
{
|
||||
//if (_end == 0)
|
||||
// _end = Runtime::getMemory().size();
|
||||
EXPORT void evmccrt_memory_dump(uint64_t _begin, uint64_t _end)
|
||||
{
|
||||
//if (_end == 0)
|
||||
// _end = Runtime::getMemory().size();
|
||||
|
||||
//std::cerr << "MEMORY: active size: " << std::dec
|
||||
// << Runtime::getMemory().size() / 32 << " words\n";
|
||||
//std::cerr << "MEMORY: dump from " << std::dec
|
||||
// << _begin << " to " << _end << ":";
|
||||
//if (_end <= _begin)
|
||||
// return;
|
||||
//std::cerr << "MEMORY: active size: " << std::dec
|
||||
// << Runtime::getMemory().size() / 32 << " words\n";
|
||||
//std::cerr << "MEMORY: dump from " << std::dec
|
||||
// << _begin << " to " << _end << ":";
|
||||
//if (_end <= _begin)
|
||||
// return;
|
||||
|
||||
//_begin = _begin / 16 * 16;
|
||||
//for (size_t i = _begin; i < _end; i++)
|
||||
//{
|
||||
// if ((i - _begin) % 16 == 0)
|
||||
// std::cerr << '\n' << std::dec << i << ": ";
|
||||
//_begin = _begin / 16 * 16;
|
||||
//for (size_t i = _begin; i < _end; i++)
|
||||
//{
|
||||
// if ((i - _begin) % 16 == 0)
|
||||
// std::cerr << '\n' << std::dec << i << ": ";
|
||||
|
||||
// auto b = Runtime::getMemory()[i];
|
||||
// std::cerr << std::hex << std::setw(2) << static_cast<int>(b) << ' ';
|
||||
//}
|
||||
//std::cerr << std::endl;
|
||||
}
|
||||
// auto b = Runtime::getMemory()[i];
|
||||
// std::cerr << std::hex << std::setw(2) << static_cast<int>(b) << ' ';
|
||||
//}
|
||||
//std::cerr << std::endl;
|
||||
}
|
||||
|
||||
} // extern "C"
|
||||
} // extern "C"
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ Runtime::Runtime(u256 _gas, ExtVMFace& _ext, jmp_buf _jmpBuf):
|
|||
set(RuntimeData::Number, _ext.currentBlock.number);
|
||||
set(RuntimeData::Difficulty, _ext.currentBlock.difficulty);
|
||||
set(RuntimeData::GasLimit, _ext.currentBlock.gasLimit);
|
||||
set(RuntimeData::CodeSize, _ext.code.size()); // TODO: Use constant
|
||||
set(RuntimeData::CodeSize, _ext.code.size()); // TODO: Use constant
|
||||
m_data.callData = _ext.data.data();
|
||||
m_data.code = _ext.code.data();
|
||||
m_data.jmpBuf = _jmpBuf;
|
||||
|
|
@ -116,7 +116,7 @@ RuntimeManager::RuntimeManager(llvm::IRBuilder<>& _builder): CompilerHelper(_bui
|
|||
llvm::Value* RuntimeManager::getRuntimePtr()
|
||||
{
|
||||
if (auto mainFunc = getMainFunction())
|
||||
return mainFunc->arg_begin()->getNextNode(); // Runtime is the second parameter of main function
|
||||
return mainFunc->arg_begin()->getNextNode(); // Runtime is the second parameter of main function
|
||||
return m_builder.CreateLoad(m_dataPtr, "rt");
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue