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

Issue 8932004: Implement target cache for constructor calls. (Closed)

Created:
9 years ago by Michael Starzinger
Modified:
8 years, 10 months ago
CC:
v8-dev
Visibility:
Public.

Description

Implement target cache for constructor calls. This caches call targets of constructor calls by associating one element caches with call sites. The type feedback oracle can use the recorded valued to gather type information for monomorphic constructor call sites. R=kmillikin@chromium.org,vegorov@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=10531

Patch Set 1 #

Total comments: 14

Patch Set 2 : Addressed comments by Vyacheslav Egorov and ported to x64 & ARM. #

Total comments: 3

Patch Set 3 : Addressed comments by Vyacheslav Egorov. #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+524 lines, -309 lines) Patch
M src/arm/builtins-arm.cc View 1 3 chunks +5 lines, -38 lines 0 comments Download
M src/arm/code-stubs-arm.cc View 1 2 2 chunks +76 lines, -9 lines 0 comments Download
M src/arm/debug-arm.cc View 1 2 chunks +3 lines, -1 line 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 1 chunk +16 lines, -3 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 1 chunk +2 lines, -2 lines 0 comments Download
M src/builtins.h View 1 2 chunks +0 lines, -3 lines 0 comments Download
M src/code-stubs.h View 1 3 chunks +21 lines, -22 lines 0 comments Download
M src/code-stubs.cc View 1 1 chunk +6 lines, -0 lines 0 comments Download
M src/full-codegen.h View 1 2 4 chunks +13 lines, -1 line 0 comments Download
M src/full-codegen.cc View 1 2 4 chunks +24 lines, -2 lines 0 comments Download
M src/heap.cc View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M src/ia32/assembler-ia32.h View 1 1 chunk +0 lines, -2 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 chunks +5 lines, -41 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 5 chunks +85 lines, -59 lines 0 comments Download
M src/ia32/debug-ia32.cc View 1 2 chunks +5 lines, -3 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 2 chunks +24 lines, -19 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 1 chunk +2 lines, -2 lines 0 comments Download
M src/mark-compact.cc View 1 2 2 chunks +11 lines, -10 lines 0 comments Download
M src/objects.h View 1 2 7 chunks +44 lines, -9 lines 0 comments Download
M src/objects-inl.h View 1 2 6 chunks +49 lines, -13 lines 0 comments Download
M src/objects-visiting-inl.h View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
M src/type-info.h View 1 2 3 chunks +3 lines, -0 lines 0 comments Download
M src/type-info.cc View 1 2 4 chunks +21 lines, -12 lines 3 comments Download
M src/x64/builtins-x64.cc View 1 2 chunks +5 lines, -40 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 2 chunks +77 lines, -11 lines 0 comments Download
M src/x64/debug-x64.cc View 1 2 chunks +3 lines, -2 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 1 chunk +16 lines, -3 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
Michael Starzinger
This only works on IA32 so far, but I wanted to get a first round ...
9 years ago (2011-12-13 11:00:24 UTC) #1
Vyacheslav Egorov (Chromium)
approach seems fine to me (not counting chicken and egg problem with stubs and builtins). ...
8 years, 11 months ago (2012-01-23 10:39:52 UTC) #2
Michael Starzinger
PTAL. This turned into a larger CL, so here are the major changes to look ...
8 years, 11 months ago (2012-01-25 11:42:28 UTC) #3
Vyacheslav Egorov (Chromium)
LGTM! https://chromiumcodereview.appspot.com/8932004/diff/6001/src/full-codegen.h File src/full-codegen.h (right): https://chromiumcodereview.appspot.com/8932004/diff/6001/src/full-codegen.h#newcode581 src/full-codegen.h:581: unsigned id; id -> ast_id ?
8 years, 11 months ago (2012-01-25 15:51:54 UTC) #4
Michael Starzinger
Added new patch set. Landed. https://chromiumcodereview.appspot.com/8932004/diff/6001/src/full-codegen.h File src/full-codegen.h (right): https://chromiumcodereview.appspot.com/8932004/diff/6001/src/full-codegen.h#newcode581 src/full-codegen.h:581: unsigned id; On 2012/01/25 ...
8 years, 11 months ago (2012-01-27 13:03:50 UTC) #5
Erik Corry
https://chromiumcodereview.appspot.com/8932004/diff/9001/src/type-info.cc File src/type-info.cc (right): https://chromiumcodereview.appspot.com/8932004/diff/9001/src/type-info.cc#newcode550 src/type-info.cc:550: ProcessTypeFeedbackCells(code); This call uses number dictionaries on the heap, ...
8 years, 10 months ago (2012-01-30 15:01:11 UTC) #6
Vyacheslav Egorov (Chromium)
https://chromiumcodereview.appspot.com/8932004/diff/9001/src/type-info.cc File src/type-info.cc (right): https://chromiumcodereview.appspot.com/8932004/diff/9001/src/type-info.cc#newcode550 src/type-info.cc:550: ProcessTypeFeedbackCells(code); On 2012/01/30 15:01:11, Erik Corry wrote: > This ...
8 years, 10 months ago (2012-01-30 15:10:03 UTC) #7
Michael Starzinger
8 years, 10 months ago (2012-01-30 15:22:58 UTC) #8
https://chromiumcodereview.appspot.com/8932004/diff/9001/src/type-info.cc
File src/type-info.cc (right):

https://chromiumcodereview.appspot.com/8932004/diff/9001/src/type-info.cc#new...
src/type-info.cc:550: ProcessTypeFeedbackCells(code);
On 2012/01/30 15:01:11, Erik Corry wrote:
> This call uses number dictionaries on the heap, and thus it can cause
> allocations, but it is inside an AssertNoAllocation scope.

Nice catch! Fix: https://chromiumcodereview.appspot.com/9293005/

Powered by Google App Engine
This is Rietveld 408576698