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

Issue 553117: Implementing inline caches for binary operations (ia32).... (Closed)

Created:
10 years, 11 months ago by Vladislav Kaznacheev
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Implementing inline caches for binary operations (ia32). This is a subset of a CL reviewed earlier(http://codereview.chromium.org/551093). The register usage optimisation part has been reviewed and submitted separately. Two fast cases supported: HeapNumber operands and String operands for ADD. Committed: http://code.google.com/p/v8/source/detail?r=3988

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 8

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 16

Patch Set 5 : '' #

Total comments: 1

Patch Set 6 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+496 lines, -179 lines) Patch
M src/arm/codegen-arm.cc View 1 2 3 4 5 2 chunks +6 lines, -0 lines 0 comments Download
M src/code-stubs.h View 1 2 3 4 5 2 chunks +10 lines, -0 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 4 5 3 chunks +13 lines, -2 lines 0 comments Download
M src/debug.cc View 1 2 3 4 5 2 chunks +23 lines, -19 lines 0 comments Download
M src/ia32/codegen-ia32.h View 1 2 3 4 5 6 chunks +49 lines, -8 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 1 2 3 4 5 6 chunks +240 lines, -137 lines 0 comments Download
M src/ic.h View 1 2 3 4 5 2 chunks +26 lines, -1 line 0 comments Download
M src/ic.cc View 1 2 3 4 5 2 chunks +107 lines, -0 lines 0 comments Download
M src/log.cc View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 3 chunks +11 lines, -10 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M src/spaces.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/x64/codegen-x64.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
Vladislav Kaznacheev
10 years, 11 months ago (2010-01-27 14:42:56 UTC) #1
Vladislav Kaznacheev
Kevin asked me if it is possible to do the same with less complexity and ...
10 years, 10 months ago (2010-02-02 23:25:39 UTC) #2
Kevin Millikin (Chromium)
I think it's getting clearer. My big concern is still that it's too different from ...
10 years, 10 months ago (2010-02-08 12:06:56 UTC) #3
Vladislav Kaznacheev
Kevin, I am not sure I understand your idea. One way I can think of ...
10 years, 10 months ago (2010-02-09 01:38:08 UTC) #4
Kevin Millikin (Chromium)
It looks much cleaner now. There is a GC issue in BinarOp_Patch that needs to ...
10 years, 10 months ago (2010-02-18 10:31:34 UTC) #5
Vladislav Kaznacheev
I have addressed most of the comments. Still not sure what to do with BinaryOpIC::patch. ...
10 years, 10 months ago (2010-02-25 16:19:43 UTC) #6
Kevin Millikin (Chromium)
10 years, 9 months ago (2010-03-01 15:57:08 UTC) #7
LGTM.

http://codereview.chromium.org/553117/diff/19001/18005
File src/ic.cc (right):

http://codereview.chromium.org/553117/diff/19001/18005#newcode1494
src/ic.cc:1494: HandleScope scope;
HandleScope could be moved down to before GetBinaryOpStub because you don't need
a handle scope to create handle copies of the args (they're in the stack, so
seen and updated on GC):

{ HandleScope scope;
  BinaryOpIC::TypeInfo type_info = ...
  ...
  if (!code.is_null()) {
    ...
  }
}

return *result;

Powered by Google App Engine
This is Rietveld 408576698