Literally stumbled upon this but ended up watching the whole thing cuz of how brilliantly he explained it. Hats off 👏
@sebon11
Жыл бұрын
Did he? It all was nice, but that's all, still there was a looot of unclear things here...
@zoom83043 жыл бұрын
Thank you so much. Loved your presentation and learning from you
@Jakob61744 жыл бұрын
That was bloody brilliant, thank you soo much.
@devenderkumar6521
4 жыл бұрын
🔙
@devenderkumar6521
4 жыл бұрын
0
@anglikai95173 жыл бұрын
Wow, that is brilliant. Thanks !
@xortha32714 жыл бұрын
Great talk!
@johnlongaski2715 Жыл бұрын
OMG I was trying to fix some dumb java asm thing I was making while playing this in the background and didn't realize the method was static cuz I stayed up all night xD. When u mention static invocation doesn't have a this pointer it made me realize that is whats wrong. My dumbass didn't realize it was static for ages and thought maybe it was somehow making the first local var index the first method param. Thank you so much idk how long I would of been stuck with that
@brendanli54883 жыл бұрын
excellent explanation!!!
@duckydude207 ай бұрын
sometimes, the KZread algorithm can do wonders. i like it. thanks for such an awesome talk... :) now it actually seems easier than asm.
@MatthiasBloch4 жыл бұрын
Nice talk! Short question: 32:00: Instruction Index 8: Why is the long variable l2 loaded from constant pool index #3? I thought it should have been #4 Follow up question: How does the constant pool for this particular example look like? Thanks you!
@AndriusKaliacius
4 жыл бұрын
why did you think it should've been #4?
@MindlessMegaLawl
3 жыл бұрын
Because #3 is the first part of the double, #4 is the second part, likely implicit
@cheezeworm Жыл бұрын
god i love this speaker so much
@gevorg8272 жыл бұрын
Does anyone here knows how do you make a new Scanner and ask the user for input in Jasmin bytecode?
@ZemenFidel Жыл бұрын
Very lucid explanation. But the video would've looked a lot nicer if the slides were placed on the left and the speaker on the right.
@asagk3 жыл бұрын
From the sparse explanation about arguments on calls and return values it remains unclear to me weather the VM implements the return stack separately from the data/calculation stack or there is some hidden is going on in the shades. So what is it then for real about argument passing and return addresses on the stack? Another aspect unclear to me: In 31:41 arguments come as arguments in local variables, but when the call is presented (34:09) the arguments are provided by pushing on the stack, instead of of being passed as arguments in the locals registers. What is it now for real? On the stack or as arguments or in the locals registers? Just wondering ...
@paschikshehu7988
3 жыл бұрын
Thanks for pointing that out; I actually came here just for that
@tanveerhasan2382
2 жыл бұрын
But I don't think JVM has registers to work with
@nigabals5662 жыл бұрын
started off really well but was really rushed after about the 40th minute :/
@theglorioussapphiremonkey47504 жыл бұрын
The audio is kind of low :(
@footballCartoon912 жыл бұрын
@8:31 I don't understand.. Why he said the program does not use CPU register? Only use the stack to add two numbers together? How is that possible?
@tanveerhasan2382
2 жыл бұрын
JVM is an abstraction over a CPU. The underlying machine code that translated from the byte code will use registers. But in JVM there are no registers
@stavros222 Жыл бұрын
How will locals up to 4 will be written? for example iload_4 and iload_5?
@mabed6692
Жыл бұрын
There is iload instruction, which takes 1 byte operand. The operand is locals index. So instead of iload_4 (1-byte instruction) it will be iload 4 (1-byte instruction + 1-byte operand).
@deepakumardeepak8 ай бұрын
CLASS
@DF-ss5ep2 жыл бұрын
How can the JVM has a heap of more than 4GB? Surely in 64-bit mode, references use "2 slots".
@DaedalusCommunity
7 ай бұрын
If I understand this correctly, unlike in C, the references are not to memory addresses but to stuff like classes. Thus the limit is not to the amount of memory you can address, but to the number of classes you can reference, and that number is never gonna get to the max you can address with 32 bits
@johnlongaski2715 Жыл бұрын
12:29 I thought for a second he said “act sus” xD
@Darrell-Hunt3 жыл бұрын
So source code is for babies I wanna know bytecode and why it’s how it is
@vadimkot2354 Жыл бұрын
next time please normalize audio, I barely can hear him
@Anurag_Saxena2 жыл бұрын
20:00:00
@omeraydindev3 жыл бұрын
9:20 in, just a future reference for myself
@ikiddoistudio64
3 жыл бұрын
future
@sussus49143 жыл бұрын
Use of red as means to highlight code was a very stupid idea.
@abunapha4 жыл бұрын
can't hear anything
@mahkhi71542 ай бұрын
This Java Bytecode is Like C. Your God: Nothing Better Than C. Its Very Portable. Works on X86, ARM, PowerPC, Sparc. The Dalvik / Android Byte Code is Like C++. Less Portable. Will Only work on Sony's ARM CPU's and Intel. Wont work Well on PowerPC, Sparc.
@allarehere30122 жыл бұрын
Speak louder it's not audible
@officialsebgaming4 жыл бұрын
9 Comments
@mabed6692 Жыл бұрын
So much inefficient bytecode, mainly due to poor desing. I know it's from 1995, but still...
Пікірлер: 42
Literally stumbled upon this but ended up watching the whole thing cuz of how brilliantly he explained it. Hats off 👏
@sebon11
Жыл бұрын
Did he? It all was nice, but that's all, still there was a looot of unclear things here...
Thank you so much. Loved your presentation and learning from you
That was bloody brilliant, thank you soo much.
@devenderkumar6521
4 жыл бұрын
🔙
@devenderkumar6521
4 жыл бұрын
0
Wow, that is brilliant. Thanks !
Great talk!
OMG I was trying to fix some dumb java asm thing I was making while playing this in the background and didn't realize the method was static cuz I stayed up all night xD. When u mention static invocation doesn't have a this pointer it made me realize that is whats wrong. My dumbass didn't realize it was static for ages and thought maybe it was somehow making the first local var index the first method param. Thank you so much idk how long I would of been stuck with that
excellent explanation!!!
sometimes, the KZread algorithm can do wonders. i like it. thanks for such an awesome talk... :) now it actually seems easier than asm.
Nice talk! Short question: 32:00: Instruction Index 8: Why is the long variable l2 loaded from constant pool index #3? I thought it should have been #4 Follow up question: How does the constant pool for this particular example look like? Thanks you!
@AndriusKaliacius
4 жыл бұрын
why did you think it should've been #4?
@MindlessMegaLawl
3 жыл бұрын
Because #3 is the first part of the double, #4 is the second part, likely implicit
god i love this speaker so much
Does anyone here knows how do you make a new Scanner and ask the user for input in Jasmin bytecode?
Very lucid explanation. But the video would've looked a lot nicer if the slides were placed on the left and the speaker on the right.
From the sparse explanation about arguments on calls and return values it remains unclear to me weather the VM implements the return stack separately from the data/calculation stack or there is some hidden is going on in the shades. So what is it then for real about argument passing and return addresses on the stack? Another aspect unclear to me: In 31:41 arguments come as arguments in local variables, but when the call is presented (34:09) the arguments are provided by pushing on the stack, instead of of being passed as arguments in the locals registers. What is it now for real? On the stack or as arguments or in the locals registers? Just wondering ...
@paschikshehu7988
3 жыл бұрын
Thanks for pointing that out; I actually came here just for that
@tanveerhasan2382
2 жыл бұрын
But I don't think JVM has registers to work with
started off really well but was really rushed after about the 40th minute :/
The audio is kind of low :(
@8:31 I don't understand.. Why he said the program does not use CPU register? Only use the stack to add two numbers together? How is that possible?
@tanveerhasan2382
2 жыл бұрын
JVM is an abstraction over a CPU. The underlying machine code that translated from the byte code will use registers. But in JVM there are no registers
How will locals up to 4 will be written? for example iload_4 and iload_5?
@mabed6692
Жыл бұрын
There is iload instruction, which takes 1 byte operand. The operand is locals index. So instead of iload_4 (1-byte instruction) it will be iload 4 (1-byte instruction + 1-byte operand).
CLASS
How can the JVM has a heap of more than 4GB? Surely in 64-bit mode, references use "2 slots".
@DaedalusCommunity
7 ай бұрын
If I understand this correctly, unlike in C, the references are not to memory addresses but to stuff like classes. Thus the limit is not to the amount of memory you can address, but to the number of classes you can reference, and that number is never gonna get to the max you can address with 32 bits
12:29 I thought for a second he said “act sus” xD
So source code is for babies I wanna know bytecode and why it’s how it is
next time please normalize audio, I barely can hear him
20:00:00
9:20 in, just a future reference for myself
@ikiddoistudio64
3 жыл бұрын
future
Use of red as means to highlight code was a very stupid idea.
can't hear anything
This Java Bytecode is Like C. Your God: Nothing Better Than C. Its Very Portable. Works on X86, ARM, PowerPC, Sparc. The Dalvik / Android Byte Code is Like C++. Less Portable. Will Only work on Sony's ARM CPU's and Intel. Wont work Well on PowerPC, Sparc.
Speak louder it's not audible
9 Comments
So much inefficient bytecode, mainly due to poor desing. I know it's from 1995, but still...
This talk is a torture