v8/src/x64
fschneider@chromium.org b93a0f5d9a 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
2010-12-15 13:56:41 +00:00
..
assembler-x64-inl.h Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
assembler-x64.cc Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
assembler-x64.h Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
builtins-x64.cc Align builtins-{arch}.cc on ia32 and x64 platforms by moving functions and editing. 2010-12-13 12:24:29 +00:00
code-stubs-x64.cc Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
code-stubs-x64.h Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
codegen-x64-inl.h Remove complicated Math.sin and Math.cos optimizations that do not buy 2009-12-21 13:30:10 +00:00
codegen-x64.cc Add array bound checks to code generated for SwapElements. This fixes a bug that lead to a segfault when an array was modified while it was sorted. 2010-12-15 09:52:58 +00:00
codegen-x64.h Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
cpu-x64.cc Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
debug-x64.cc Fix presumbit errors in previous commit 2010-08-27 07:41:46 +00:00
deoptimizer-x64.cc Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
disasm-x64.cc Add generated code to calculate Math.log and to search Transcendental cache for logs. Implemented on all platforms. 2010-12-02 11:20:44 +00:00
frames-x64.cc Enhance SafeStackFrameIterator to avoid triggering assertions in debug mode. 2010-09-16 08:23:34 +00:00
frames-x64.h Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
full-codegen-x64.cc Fix assignment compilation bug on ARM and x64. 2010-12-14 09:47:28 +00:00
ic-x64.cc Second attempt: Improve our type feedback by recogizining never-executed IC calls for binary operations. 2010-12-15 13:56:41 +00:00
jump-target-x64.cc Allow build-time selection between ia32 and x86_64 in the GYP/Xcode Mac 2010-05-17 15:41:35 +00:00
lithium-codegen-x64.h Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
lithium-x64.h Remove NearestNextGapPos. It is not used anymore. 2010-12-07 14:51:49 +00:00
macro-assembler-x64.cc Align builtins-{arch}.cc on ia32 and x64 platforms by moving functions and editing. 2010-12-13 12:24:29 +00:00
macro-assembler-x64.h Align builtins-{arch}.cc on ia32 and x64 platforms by moving functions and editing. 2010-12-13 12:24:29 +00:00
regexp-macro-assembler-x64.cc Make Failure inherit from MaybeObject instead of Object. 2010-10-25 15:22:03 +00:00
regexp-macro-assembler-x64.h Limit end-anchored regexps to testing end of string where possible. 2010-10-19 14:00:01 +00:00
register-allocator-x64-inl.h X64: Added register holding Smi::FromInt(1). 2010-07-02 14:09:35 +00:00
register-allocator-x64.cc Allow build-time selection between ia32 and x86_64 in the GYP/Xcode Mac 2010-05-17 15:41:35 +00:00
register-allocator-x64.h X64: Added register holding Smi::FromInt(1). 2010-07-02 14:09:35 +00:00
simulator-x64.cc Added empty files in the x64 directory. 2009-05-04 07:16:10 +00:00
simulator-x64.h Clean up definitions in simulator. 2010-10-25 16:40:41 +00:00
stub-cache-x64.cc Merge math function ids and custom call generator ids. 2010-12-14 18:53:48 +00:00
virtual-frame-x64.cc Move ComputeCallInitialize from the codegen.cc to stub-cache.cc. 2010-11-11 10:33:51 +00:00
virtual-frame-x64.h Remove VirtualFrame::CallStoreIC(void) and CallCommonStoreIC from virtual-frame-x64.cc. Make implementations of CallStoreIC(key, is_contextual) and CallKeyedStoreIC() the same on x64 and ia32. Make ia32 and x64 implementations more alike by moving some functions and changing comments. 2010-07-21 15:16:01 +00:00