whesse@chromium.org
2de98f8e55
Add statistics operations and long calls and jumps to x64 macro assembler.
...
Remove unimplemented instructions from x64 assembler. Add operand-size
suffixes to add, sub, inc, dec, and cmp.
Review URL: http://codereview.chromium.org/118380
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-10 15:53:46 +00:00
lrn@chromium.org
13e548af1d
X64: Implement CEntryStub and JSEntryTrampoline.
...
Still some supporting functions missing.
Review URL: http://codereview.chromium.org/114085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-10 09:48:15 +00:00
mikhail.naganov@gmail.com
d7cccf6b8d
Add log compression ability.
...
This is a trivial per-row compression:
- short aliases are introduced for events and code creation tags;
- in tick events, offsets are used instead of absolute addresses;
- removed 'code-allocation' event, as it seems not used.
The first two options are depend on the new flag: 'compress-log', which is off by default.
On benchmarks run w/o snapshot, this gives 45% log size reduction.
Review URL: http://codereview.chromium.org/119304
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-08 13:39:48 +00:00
lrn@chromium.org
b918e64dc3
X64: JSEntry Stub
...
Review URL: http://codereview.chromium.org/118115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-04 11:54:14 +00:00
whesse@chromium.org
34de62698c
Add multiplication and division to x64 assembler. Add emit_modrm() function.
...
Review URL: http://codereview.chromium.org/119078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-03 13:30:31 +00:00
lrn@chromium.org
5e83c2cc9c
X64: Added implementations of Set(..., Immediate) to macro assembler.
...
Removed duplicates comments in assembler-x64.cc.
Review URL: http://codereview.chromium.org/119035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-03 10:30:50 +00:00
whesse@chromium.org
ea0644506d
Add miscellaneous operations to x64 assembler.
...
Review URL: http://codereview.chromium.org/113997
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-02 13:40:52 +00:00
whesse@chromium.org
8c78e673ad
Add shift operations to x64 assembler.
...
Review URL: http://codereview.chromium.org/118107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-02 11:43:26 +00:00
lrn@chromium.org
734f1fd135
X64: Added jmp and call and nop(n) to X64 assembler.
...
Review URL: http://codereview.chromium.org/115920
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-02 07:21:05 +00:00
whesse@chromium.org
b4a219774a
Add test, neg, and not instructions to x64 assembler
...
Review URL: http://codereview.chromium.org/112066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-29 08:56:31 +00:00
whesse@chromium.org
ac5eabddee
Add more arithmetic to x64 assembler.
...
Review URL: http://codereview.chromium.org/115857
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-28 10:06:48 +00:00
whesse@chromium.org
76d5e4e06d
Add immediate operands and arithmetic operations to the x64 assembler.
...
Review URL: http://codereview.chromium.org/115816
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-28 09:18:17 +00:00
kmillikin@chromium.org
9c829fafe9
Change the register allocator so that it no longer tracks references
...
to the platform-specific reserved registers. They are always in use
for their intended purpose, cannot appear in the virtual frame, and
can be freely used without allocation in the code generator.
Review URL: http://codereview.chromium.org/113837
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-27 07:53:47 +00:00
whesse@chromium.org
960a1d36c2
Add implementation of control flow and label binding to x64 assembler.
...
Review URL: http://codereview.chromium.org/113832
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-26 12:32:09 +00:00
whesse@chromium.org
3bd462f2eb
Add a unit test for V8's 64-bit assembler.
...
Review URL: http://codereview.chromium.org/115707
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-26 07:58:36 +00:00
erik.corry@gmail.com
dc154a9878
Fix 64-bit after in-loop patch.
...
Review URL: http://codereview.chromium.org/115764
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 18:57:25 +00:00
whesse@chromium.org
80fba5a127
Implementation of a few more assembly instructions on x64
...
Review URL: http://codereview.chromium.org/113767
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 14:00:30 +00:00
mikhail.naganov@gmail.com
30a0a7de43
Split nested namespaces declaration in two lines in accordance with C++ Style Guide.
...
This issue was raised by Brett Wilson while reviewing my changelist for readability. Craig Silverstein (one of C++ SG maintainers) confirmed that we should declare one namespace per line. Our way of namespaces closing seems not violating style guides (there is no clear agreement on it), so I left it intact.
Review URL: http://codereview.chromium.org/115756
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-25 10:05:56 +00:00
whesse@chromium.org
5f5f33e4fb
Implement quadword MOV on x64 assembler, emitting REX prefix.
...
Review URL: http://codereview.chromium.org/115571
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-22 07:53:28 +00:00
lrn@chromium.org
19d279f815
X64: Move some methods in x64/ to their file and make codegen do int3.
...
Review URL: http://codereview.chromium.org/115567
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-20 13:20:02 +00:00
whesse@chromium.org
59fab02e3e
Implement constructor and destructor of 64-bit assembler
...
Review URL: http://codereview.chromium.org/113631
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-20 12:17:23 +00:00
kmillikin@chromium.org
01bc6d1056
Fix x64 build.
...
Review URL: http://codereview.chromium.org/115565
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-20 11:54:35 +00:00
lrn@chromium.org
c27d0f7b4b
X64: Fixups in heap-test.cc to make it compile in X64 mode.
...
Review URL: http://codereview.chromium.org/113574
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-19 08:59:23 +00:00
deanm@chromium.org
6d319c7229
x64: Stub out more unimplemented functions, we now link shell.
...
Review URL: http://codereview.chromium.org/113339
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-13 13:50:18 +00:00
lrn@chromium.org
ae8e20ba83
X64: Added dummy definitions of needed functions.
...
All functions added in assembler-x64.cc. They should be distributed to where they belong when they are implemented.
Review URL: http://codereview.chromium.org/113334
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-13 12:50:33 +00:00
deanm@chromium.org
e3762851a1
Stub out a small portion of the x64 assembler.
...
Review URL: http://codereview.chromium.org/108014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-05 14:39:05 +00:00
lrn@chromium.org
32686a11f0
Added empty files in the x64 directory.
...
Added initially empty files for x64 development.
Review URL: http://codereview.chromium.org/100327
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-04 07:16:10 +00:00