Fixed and relanded.
https://codereview.chromium.org/25696004/diff/21001/src/ia32/lithium-codegen-ia32.cc
File src/ia32/lithium-codegen-ia32.cc (right):
https://codereview.chromium.org/25696004/diff/21001/src/ia32/lithium-codegen-ia32.cc#newcode4440
src/ia32/lithium-codegen-ia32.cc:4440: __ mov_b(operand,
ToInteger32(operand_value));
On 2013/10/02 16:25:42, Jakob wrote:
Here you're passing an int32_t to a function that expects an int8_t.
I'm
surprised this even compiles on Windows.
It simply truncates to int8_t according to implicit type conversion
rules. Just what we want here.
https://codereview.chromium.org/25696004/diff/21001/src/ia32/lithium-codegen-ia32.cc#newcode4447
src/ia32/lithium-codegen-ia32.cc:4447: __ mov_b(operand, value);
On 2013/10/02 16:25:42, Jakob wrote:
This will fail the CHECK in mov_b when the register allocator happens
to pick,
say, edi for |value|. If you had added a test case, you would have
noticed ;-)
Good catch, thanks.
https://codereview.chromium.org/25696004/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.