| ▲ | asibahi 2 hours ago | |
This `dup` seems entirely useless it actually supports the case for omitting it fron the instruction set. | ||
| ▲ | layer8 an hour ago | parent [-] | |
The only reason it is useless in this (arguably ill-chosen) example is because the result of “new Object()” is not used (hence the pop), which is an uncommon case. If test() instead returned the new object, or would use it in some other way after the initialization, then the dup would be needed. Invokespecial consumes the object reference on the stack, hence if you want to use it after invokespecial, you have to copy or duplicate it before. | ||