kmillikin@chromium.org
bcff796134
Size reduction of VirtualFrame objects. Remove the code generator and
...
macro assembler pointers and all derived state.
Review URL: http://codereview.chromium.org/115564
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-20 11:14:18 +00:00
kmillikin@chromium.org
2ab1dedb03
Increase the size of VirtualFrame members to allow a larger number of
...
parameters, stack-allocated locals, or expression stack elements.
Review URL: http://codereview.chromium.org/115535
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-19 20:29:23 +00:00
erik.corry@gmail.com
660ddafc5e
From joel.stan:
...
The preprocessor defines check for v5t and v5te. This patch adds v7 and
v7-a which provide support for -march=armv7 and -mcpu=cortex-a8
respectively.
This is to support my work compiling chromium on arm, see
http://crbug.com/12028
http://codereview.chromium.org/115509
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-19 20:12:50 +00:00
kmillikin@chromium.org
0dda60a96d
Inline some simple member functions of VirtualFrame.
...
Review URL: http://codereview.chromium.org/113525
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-18 14:32:43 +00:00
ager@chromium.org
9a4d667694
Fix ARM build.
...
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/115465
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-18 13:23:54 +00:00
kmillikin@chromium.org
a77d81c59b
Fix a failure to correctly set the static type on a frame element at a
...
backward jump. The frame entering the backward block is not used, so
the this is mostly just a bookkeeping change.
Review URL: http://codereview.chromium.org/115464
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-18 13:16:35 +00:00
ager@chromium.org
ef85ba46b0
First round of size reduction for JumpTargets. Reduce their size by
...
two words: there is no reason to keep a pointer to the current code
generator and macro assembler in the JumpTarget.
Review URL: http://codereview.chromium.org/113458
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-18 12:26:59 +00:00
ager@chromium.org
33debd1460
Fix build on arm and x64.
...
Note to self: remember all platforms.
Review URL: http://codereview.chromium.org/115399
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-15 11:32:03 +00:00
kmillikin@chromium.org
f579685469
Remove the redundant flags is_bound_ and is_linked_ from the
...
JumpTarget class in favor of using other internal state.
Review URL: http://codereview.chromium.org/113456
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-15 11:17:29 +00:00
whesse@chromium.org
4a12504f89
Improve algorithm for detaching and attaching a virtual frame to the code
...
generator. Inline copying of a register file.
Review URL: http://codereview.chromium.org/113402
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-14 16:06:04 +00:00
ager@chromium.org
af59c3d68f
Reapply revision 1949. Stupid error.
...
Add virtual destructor to jump targets to make compiler happy.
Review URL: http://codereview.chromium.org/113396
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-14 12:18:25 +00:00
ager@chromium.org
c9eda02def
Revert revision 1949.
...
Review URL: http://codereview.chromium.org/115350
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-14 11:55:18 +00:00
ager@chromium.org
f4778b007f
Reduce the memory used by frame elements from two words to one by
...
encoding the values in one word and by using an indirection table for
handles.
This reduces compilation time by roughly 10% and we should be able to make the slow case equality checking of frame elements faster as well.
Review URL: http://codereview.chromium.org/115347
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-14 11:43:09 +00:00
bak@chromium.org
9e02f380f0
Removed the delete calls to ZoneObjects.
...
Review URL: http://codereview.chromium.org/115348
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-14 11:36:10 +00:00
bak@chromium.org
c70ec7a3d2
- Make VirtualFrame and JumpTarget zone allocated.
...
- Compacted the VirtualFrame representation.
-> Improved the compiler speed with 10%
Review URL: http://codereview.chromium.org/115345
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-14 11:03:55 +00:00
kmillikin@chromium.org
ebbaeb3655
Initial bypass of JumpTarget::ComputeEntryFrame for deferred code
...
entry labels where it is statically safe.
Review URL: http://codereview.chromium.org/115296
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-14 07:38:44 +00:00
erik.corry@gmail.com
4a120eccdc
Fix asterisk spacing.
...
Review URL: http://codereview.chromium.org/113333
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-13 12:34:35 +00:00
kmillikin@chromium.org
60c42717f3
Refactor JumpTarget::Combine.
...
Review URL: http://codereview.chromium.org/113329
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-13 10:29:49 +00:00
erik.corry@gmail.com
ade7d1abd6
Fix incorrect assert on ARM that assumed that coprocessor id was always zero. This
...
is hit in debug mode on non-EABI non-simulator ARM platforms. Thanks to
richarjo@gmail.com for reporting.
Review URL: http://codereview.chromium.org/113299
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-12 21:35:43 +00:00
erik.corry@gmail.com
79fbaf7962
Fix fp problems in runtime code on ARM EABI by 8-byte aligning
...
the stack on exit to C.
Review URL: http://codereview.chromium.org/115256
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-12 20:11:01 +00:00
erik.corry@gmail.com
2b7616dc63
Don't go into runtime system for the allocation of floating point
...
numbers on ARM.
Review URL: http://codereview.chromium.org/115233
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-12 10:14:45 +00:00
kmillikin@chromium.org
bcab3697f6
Simplify JumpTarget::ComputeEntryFrame. Eliminate a separate pass
...
over the frame elements to find registers used (before allocating
undetermined elements) and another pass to set the frame's register
indices (after allocating all elements).
Review URL: http://codereview.chromium.org/114018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-11 13:57:19 +00:00
mikhail.naganov@gmail.com
3e82fce446
Restore stack backtrace tests removed in revision 1785.
...
To re-enable tests, instead of compiled code patching, inlined code is used.
Inlined code is only installed in test.
Review URL: http://codereview.chromium.org/108015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-07 09:24:43 +00:00
ager@chromium.org
7adff828a0
Port change (r1837) that allows call-as-function handlers to be called
...
through new to ARM.
Added simple test case of the current behavior.
For consistency, changed a number of occurences of explicit moves to
pc to use Jump instead.
Review URL: http://codereview.chromium.org/115014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-07 07:18:33 +00:00
deanm@chromium.org
eb906555fc
Cleanup include guards:
...
- Fix some typos / guards that didn't match the filename.
- Fix some style inconsistencies.
- Add guards to files that were missing them.
- Add the directory name to the guard.
Review URL: http://codereview.chromium.org/99343
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-04 13:36:43 +00:00
kmillikin@chromium.org
aa04659a82
Add stubbed-out versions of missing member functions on ARM.
...
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/99123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-28 10:53:47 +00:00
erik.corry@gmail.com
b1d09b32f9
Remove dependency on libstdc++ from test framework.
...
Review URL: http://codereview.chromium.org/99051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-27 10:52:44 +00:00
erik.corry@gmail.com
f08b2a8898
Fix bugs 145 and 323, preemption and apply on ARM.
...
Review URL: http://codereview.chromium.org/93121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-27 07:03:10 +00:00
kmillikin@chromium.org
cc0c8d178f
Materializing a frame element on the stack by pushing it can cause the
...
stack pointer to change by more than one in a corner case. If we push
a constant smi larger than 16 bits, we push it via a temporary
register. Allocating the temporary can cause a register to be spilled
from the frame somewhere above the stack pointer.
As a fix, do not use pushes to materialize ranges of elements of size
larger than one.
Review URL: http://codereview.chromium.org/92121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-24 11:26:49 +00:00
christian.plesner.hansen@gmail.com
1f7e96743d
- Extended lazy loading to general objects, not just functions.
...
- Added lazily loaded JSON object.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-24 08:13:09 +00:00
lrn@chromium.org
a4d756a1c8
Move backend specific files to separate directories.
...
Move ia32 and arm specific files to subdirectories to make it easier to add more backends.
Review URL: http://codereview.chromium.org/92068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-23 12:06:38 +00:00