v8/tools
kmillikin@chromium.org 339e49c0b2 Added first support for tracking locations of expressions in the
fast-mode code generator.

AST expression nodes are annotated with a location when doing the
initial syntactic check of the AST.  In the current implementation,
expression locations are 'temporary' (ie, allocated to the stack) or
'nowhere' (ie, the expression's value is not needed though it must be
evaluated for side effects).

For the assignment '.result = true' on IA32, we had before (with the
true value already on top of the stack):

32  mov eax,[esp]
35  mov [ebp+0xf4],eax
38  pop eax

Now:

32  pop [ebp+0xf4]


======== On x64, before:

37  movq rax,[rsp]
41  movq [rbp-0x18],rax
45  pop rax

Now:

37  pop [rbp-0x18]


======== On ARM, before (with the true value in register ip):

36  str ip, [sp, #-4]!
40  ldr ip, [sp, #+0]
44  str ip, [fp, #-12]
48  add sp, sp, #4

Now:

36  str ip, [fp, #-12]


Review URL: http://codereview.chromium.org/267118

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-15 16:42:22 +00:00
..
gyp Added first support for tracking locations of expressions in the 2009-10-15 16:42:22 +00:00
oprofile Added utility scripts for running oprofile in tools/oprofile. 2009-06-16 12:08:59 +00:00
v8.xcodeproj - Update Xcode project. 2009-10-10 00:38:44 +00:00
visual_studio Added first support for tracking locations of expressions in the 2009-10-15 16:42:22 +00:00
codemap.js TickProcessor: more accurate mapping of statically compiled code on Linux. 2009-07-14 09:47:44 +00:00
consarray.js TickProcessor script reimplemented in JavaScript. 2009-04-27 13:50:42 +00:00
csvparser.js Implemented a CSV parser in JavaScript. 2009-04-17 17:58:14 +00:00
js2c.py * Remove non-Open Source code from Douglas Crockford. 2009-09-23 12:32:24 +00:00
jsmin.py * Remove non-Open Source code from Douglas Crockford. 2009-09-23 12:32:24 +00:00
linux-tick-processor Add automatic tests for Tick Processor, take two. 2009-07-09 06:39:38 +00:00
linux-tick-processor.py Refactored command-line options handling in tick processor scripts 2009-02-18 13:45:54 +00:00
logreader.js Fix issue 420: accept truncated log files. 2009-08-17 09:31:58 +00:00
mac-nm Fix mac-nm script to support filenames w/spaces 2009-08-13 14:03:12 +00:00
mac-tick-processor Implement shared libraries logging on Mac OS X, added required support in Tick Processor. 2009-07-14 05:01:06 +00:00
presubmit.py Use local cpplint.py if it exists. 2009-09-11 12:21:48 +00:00
process-heap-prof.py Introduce first approximation of constructor heap profile for JS objects. 2009-07-29 08:10:19 +00:00
profile_view.js Profiler cleanup: removed another piece that is only needed for DevTools profiler. 2009-06-04 09:20:27 +00:00
profile.js TickProcessor: more accurate mapping of statically compiled code on Linux. 2009-07-14 09:47:44 +00:00
run-valgrind.py Changed valgrind script to match changed output format 2009-09-17 12:13:08 +00:00
splaytree.js Enhancing profiling data processing code with functionality needed for the Dev Tools Profiler. 2009-04-30 08:10:27 +00:00
splaytree.py Introduce splaytree.KeyNotFoundError and use it for reporting 2009-03-25 12:14:13 +00:00
stats-viewer.py Added support in d8 for memory-mapped counters and added the python 2008-12-03 09:35:21 +00:00
test.py Add option --build-only to the test runner. 2009-09-10 12:59:49 +00:00
tickprocessor-driver.js Implement shared libraries logging on Mac OS X, added required support in Tick Processor. 2009-07-14 05:01:06 +00:00
tickprocessor.js Add initial semi-working producers profile. 2009-10-15 07:50:23 +00:00
tickprocessor.py TickProcessor script reimplemented in JavaScript. 2009-04-27 13:50:42 +00:00
utils.py Apply patch from Alexander Botero-Lowry that adds FreeBSD platform 2008-11-21 10:06:29 +00:00
windows-tick-processor.bat Add automatic tests for Tick Processor, take two. 2009-07-09 06:39:38 +00:00
windows-tick-processor.py Refactored command-line options handling in tick processor scripts 2009-02-18 13:45:54 +00:00