Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(390)

Issue 267118: Added first support for tracking locations of expressions in the... (Closed)

Created:
11 years, 2 months ago by Kevin Millikin (Chromium)
Modified:
9 years, 7 months ago
Reviewers:
Erik Corry, fschneider
CC:
v8-dev
Visibility:
Public.

Description

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] Committed: http://code.google.com/p/v8/source/detail?r=3076

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+136 lines, -19 lines) Patch
M src/arm/fast-codegen-arm.cc View 3 chunks +19 lines, -6 lines 0 comments Download
M src/ast.h View 3 chunks +7 lines, -0 lines 0 comments Download
M src/compiler.cc View 1 chunk +4 lines, -1 line 0 comments Download
M src/fast-codegen.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M src/ia32/fast-codegen-ia32.cc View 3 chunks +18 lines, -5 lines 0 comments Download
A src/location.h View 1 chunk +56 lines, -0 lines 0 comments Download
M src/x64/fast-codegen-x64.cc View 3 chunks +18 lines, -5 lines 0 comments Download
M tools/gyp/v8.gyp View 1 chunk +3 lines, -2 lines 0 comments Download
M tools/visual_studio/v8_base.vcproj View 1 chunk +4 lines, -0 lines 0 comments Download
M tools/visual_studio/v8_base_arm.vcproj View 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
Kevin Millikin (Chromium)
11 years, 2 months ago (2009-10-15 15:44:22 UTC) #1
Erik Corry
11 years, 2 months ago (2009-10-15 15:55:08 UTC) #2
LGTM

Powered by Google App Engine
This is Rietveld 408576698