Merge pull request #9489 from ethereum/fixStackLit

Fix handling of long literal arguments in the stack compressor.
This commit is contained in:
chriseth
2020-07-23 16:49:39 +02:00
committed by GitHub
2 changed files with 36 additions and 4 deletions
@@ -0,0 +1,25 @@
object "t" {
code {
sstore(0, datasize("name_that_is_longer_than_32_bytes_name_that_is_longer_than_32_bytes_name_that_is_longer_than_32_bytes"))
}
object "name_that_is_longer_than_32_bytes_name_that_is_longer_than_32_bytes_name_that_is_longer_than_32_bytes" {
code {}
}
}
// ====
// optimize: true
// ----
// Assembly:
// /* "source":23:147 */
// dataSize(sub_0)
// /* "source":30:31 */
// 0x00
// /* "source":23:147 */
// sstore
// stop
//
// sub_0: assembly {
// }
// Bytecode: 6000600055fe
// Opcodes: PUSH1 0x0 PUSH1 0x0 SSTORE INVALID
// SourceMappings: 23:124:0:-:0;30:1;23:124