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

Issue 7608020: Use immediates when possible for HBoundsCheck and HLoadKeyedFastElement (Closed)

Created:
9 years, 4 months ago by Jakob Kummerow
Modified:
9 years, 4 months ago
CC:
v8-dev
Visibility:
Public.

Description

Use immediates when possible for HBoundsCheck and HLoadKeyedFastElement Committed: http://code.google.com/p/v8/source/detail?r=8943

Patch Set 1 #

Total comments: 6

Patch Set 2 : refactored as suggested #

Unified diffs Side-by-side diffs Delta from patch set Stats (+58 lines, -38 lines) Patch
M src/ia32/lithium-codegen-ia32.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 3 chunks +16 lines, -13 lines 0 comments Download
M src/ia32/lithium-ia32.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 2 chunks +5 lines, -4 lines 0 comments Download
M src/x64/lithium-codegen-x64.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 3 chunks +22 lines, -15 lines 0 comments Download
M src/x64/lithium-x64.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/x64/lithium-x64.cc View 2 chunks +5 lines, -4 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Jakob Kummerow
Danno: PTAL. Kevin: The comments in lithium-{ia32,x64}.h are based on what you told me yesterday. ...
9 years, 4 months ago (2011-08-10 09:10:26 UTC) #1
danno
http://codereview.chromium.org/7608020/diff/1/src/ia32/lithium-codegen-ia32.cc File src/ia32/lithium-codegen-ia32.cc (right): http://codereview.chromium.org/7608020/diff/1/src/ia32/lithium-codegen-ia32.cc#newcode2312 src/ia32/lithium-codegen-ia32.cc:2312: elements, (key << times_pointer_size) + FixedArray::kHeaderSize)); overflow check in ...
9 years, 4 months ago (2011-08-10 11:03:46 UTC) #2
Jakob Kummerow
http://codereview.chromium.org/7608020/diff/1/src/ia32/lithium-codegen-ia32.cc File src/ia32/lithium-codegen-ia32.cc (right): http://codereview.chromium.org/7608020/diff/1/src/ia32/lithium-codegen-ia32.cc#newcode2312 src/ia32/lithium-codegen-ia32.cc:2312: elements, (key << times_pointer_size) + FixedArray::kHeaderSize)); On 2011/08/10 11:03:46, ...
9 years, 4 months ago (2011-08-10 12:22:47 UTC) #3
danno
LGTM
9 years, 4 months ago (2011-08-10 13:38:59 UTC) #4
Kevin Millikin (Chromium)
9 years, 4 months ago (2011-08-11 07:42:59 UTC) #5
Look OK.  I'd probably focus more on the what and why of AssignEnvironment and
AssignPointerMap and not the particulars of other functions.  Move the three
together and then have something like:

// Assign an environment to an instruction.  An instruction which can deoptimize
must have an environment.
... AssignEnvironment...

// Assign a pointer map to an instruction.  An instruction which can trigger a
GC or a lazy deoptimization must have a pointer map.
... AssignEnvironment...

// Mark a call for the register allocator.  Assign a pointer map to support GC
and lazy deoptimization.  Assign an environment to support eager deoptimization
if CAN_DEOPTIMIZE_EAGERLY.
... MarkAsCall...

Powered by Google App Engine
This is Rietveld 408576698