-
fschneider@chromium.org authored
Second attempt: Improve our type feedback by recogizining never-executed IC calls for binary operations. This is an improved version of my earlier change r5970. It avoids degrading the non-optimized code. Initially we emit a conditional branch that is either always- or never-taken after a smi-check (depending on whether we test for smi for for non-smi) Since test-eax always sets the carry-flag to 0 we use jump-if-carry and jump-if-not-carry. The first invocation of the stub patches a jc with a jz and jnc with a jnz-instruction so that the code looks exactly as it was without patching. The only difference is the test- or nop-instruction after the IC-call. Review URL: http://codereview.chromium.org/5763004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
b93a0f5d