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

Issue 22852024: Track JS allocations as they arrive with no affection on performance when tracking is switched off (Closed)

Created:
7 years, 4 months ago by Alexandra Mikhaylova
Modified:
7 years, 1 month ago
CC:
v8-dev
Visibility:
Public.

Description

Track JS allocations as they arrive with no affection on performance when tracking is switched off. BUG=277984 R=hpayer@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=17191

Patch Set 1 #

Total comments: 5

Patch Set 2 : Make separate API for JS allocations recording, add example of checking JS allocations recording in… #

Total comments: 27

Patch Set 3 : Add examples of tests, fix external references & release build #

Patch Set 4 : Deoptimize code and generate optimized code when switching allocations tracking #

Total comments: 1

Patch Set 5 : Remove debug printf #

Patch Set 6 : Temporally fix allocations tracking code flag and tests #

Patch Set 7 : Fix tracking flag + encode allocation type instead of calling different methods #

Total comments: 22

Patch Set 8 : Code style fixes after review #

Total comments: 6

Patch Set 9 : Code style fixes after review #2 #

Total comments: 21

Patch Set 10 : Fixes after code review #3 + rebase #

Patch Set 11 : Create ExitFrame before calling into the HeapProfiler + rebase #

Patch Set 12 : A fix for the NewSpace test + rebase #

Patch Set 13 : Fix style + rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+352 lines, -23 lines) Patch
M include/v8-profiler.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +13 lines, -0 lines 0 comments Download
M src/api.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +10 lines, -0 lines 0 comments Download
M src/assembler.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M src/assembler.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +8 lines, -0 lines 0 comments Download
M src/builtins.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -1 line 0 comments Download
M src/heap.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +9 lines, -1 line 0 comments Download
M src/heap-profiler.h View 1 2 3 4 5 6 7 2 chunks +24 lines, -1 line 0 comments Download
M src/heap-profiler.cc View 1 2 3 4 5 6 7 3 chunks +77 lines, -3 lines 0 comments Download
M src/heap-snapshot-generator.h View 1 2 3 4 5 6 7 4 chunks +21 lines, -4 lines 0 comments Download
M src/heap-snapshot-generator.cc View 1 2 3 4 5 6 7 8 9 5 chunks +41 lines, -4 lines 0 comments Download
M src/mark-compact.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +5 lines, -3 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +7 lines, -0 lines 0 comments Download
M src/serialize.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M src/serialize.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +5 lines, -1 line 0 comments Download
M src/spaces.h View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -1 line 0 comments Download
M src/spaces-inl.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +20 lines, -2 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +8 lines, -2 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 2 3 4 5 6 7 8 9 1 chunk +9 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +40 lines, -0 lines 0 comments Download
M test/cctest/cctest.h View 1 2 3 4 5 6 7 8 9 1 chunk +22 lines, -0 lines 0 comments Download
M test/cctest/test-heap-profiler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +16 lines, -0 lines 0 comments Download

Messages

Total messages: 35 (0 generated)
Alexandra Mikhaylova
7 years, 4 months ago (2013-08-23 12:42:43 UTC) #1
yurys
Please provide more detailes in the description of the change. In particular, link to the ...
7 years, 4 months ago (2013-08-26 06:32:25 UTC) #2
yurys
@danno, can you take a look at this please and provide your feedback?
7 years, 4 months ago (2013-08-26 06:34:28 UTC) #3
yurys
7 years, 3 months ago (2013-08-26 09:54:04 UTC) #4
Alexandra Mikhaylova
https://codereview.chromium.org/22852024/diff/1/src/heap-snapshot-generator.cc File src/heap-snapshot-generator.cc (right): https://codereview.chromium.org/22852024/diff/1/src/heap-snapshot-generator.cc#newcode635 src/heap-snapshot-generator.cc:635: heap()->isolate()->heap_profiler()->StartHeapObjectsTracking(); On 2013/08/26 06:32:25, Yury Semikhatsky wrote: > Heap ...
7 years, 3 months ago (2013-08-26 15:48:40 UTC) #5
loislo
https://codereview.chromium.org/22852024/diff/8001/src/heap-snapshot-generator.cc File src/heap-snapshot-generator.cc (right): https://codereview.chromium.org/22852024/diff/8001/src/heap-snapshot-generator.cc#newcode398 src/heap-snapshot-generator.cc:398: void HeapObjectsMap::MoveObject(Address from, Address to, int object_size) { I ...
7 years, 3 months ago (2013-08-27 09:04:57 UTC) #6
Hannes Payer (out of office)
https://codereview.chromium.org/22852024/diff/8001/src/assembler.cc File src/assembler.cc (right): https://codereview.chromium.org/22852024/diff/8001/src/assembler.cc#newcode1320 src/assembler.cc:1320: Isolate* isolate) { 4 spaces indent https://codereview.chromium.org/22852024/diff/8001/src/assembler.cc#newcode1327 src/assembler.cc:1327: Isolate* ...
7 years, 3 months ago (2013-08-28 09:51:32 UTC) #7
Hannes Payer (out of office)
https://codereview.chromium.org/22852024/diff/8001/src/x64/macro-assembler-x64.cc File src/x64/macro-assembler-x64.cc (right): https://codereview.chromium.org/22852024/diff/8001/src/x64/macro-assembler-x64.cc#newcode4709 src/x64/macro-assembler-x64.cc:4709: cmpb(ExternalOperand( I am concerned about the performance impact of ...
7 years, 3 months ago (2013-08-28 10:35:05 UTC) #8
danno
IMO, this approach is a no-go. I find it very hard to believe that there ...
7 years, 3 months ago (2013-09-09 10:33:18 UTC) #9
Alexandra Mikhaylova
https://codereview.chromium.org/22852024/diff/8001/src/assembler.cc File src/assembler.cc (right): https://codereview.chromium.org/22852024/diff/8001/src/assembler.cc#newcode1320 src/assembler.cc:1320: Isolate* isolate) { On 2013/08/28 09:51:32, Hannes Payer wrote: ...
7 years, 3 months ago (2013-09-19 16:03:37 UTC) #10
Alexandra Mikhaylova
https://codereview.chromium.org/22852024/diff/28001/test/cctest/cctest.cc File test/cctest/cctest.cc (right): https://codereview.chromium.org/22852024/diff/28001/test/cctest/cctest.cc#newcode195 test/cctest/cctest.cc:195: LocalContext env; All we need to do here is ...
7 years, 3 months ago (2013-09-19 16:09:04 UTC) #11
Alexandra Mikhaylova
https://codereview.chromium.org/22852024/diff/8001/src/spaces.h File src/spaces.h (right): https://codereview.chromium.org/22852024/diff/8001/src/spaces.h#newcode1701 src/spaces.h:1701: MUST_USE_RESULT inline MaybeObject* AllocateRaw(int size_in_bytes); On 2013/08/28 09:51:32, Hannes ...
7 years, 3 months ago (2013-09-24 14:56:19 UTC) #12
yurys
https://codereview.chromium.org/22852024/diff/40001/src/heap-profiler.cc File src/heap-profiler.cc (right): https://codereview.chromium.org/22852024/diff/40001/src/heap-profiler.cc#newcode162 src/heap-profiler.cc:162: DropCompiledCode(); Would it make sense to run GC and ...
7 years, 2 months ago (2013-09-25 10:41:12 UTC) #13
Alexandra Mikhaylova
https://codereview.chromium.org/22852024/diff/40001/src/heap-profiler.cc File src/heap-profiler.cc (right): https://codereview.chromium.org/22852024/diff/40001/src/heap-profiler.cc#newcode162 src/heap-profiler.cc:162: DropCompiledCode(); On 2013/09/25 10:41:12, Yury Semikhatsky wrote: > Would ...
7 years, 2 months ago (2013-09-25 14:33:39 UTC) #14
yurys
Looks ok to me except that we will need to create ExitFrame when calling into ...
7 years, 2 months ago (2013-09-25 14:51:51 UTC) #15
loislo
sgtm https://codereview.chromium.org/22852024/diff/72001/src/spaces-inl.h File src/spaces-inl.h (right): https://codereview.chromium.org/22852024/diff/72001/src/spaces-inl.h#newcode310 src/spaces-inl.h:310: MaybeObject* PagedSpace::AllocateRaw(int size_in_bytes, I'd rewrite this the next ...
7 years, 2 months ago (2013-09-26 09:11:33 UTC) #16
loislo
On 2013/09/26 09:11:33, loislo wrote: > sgtm > > https://codereview.chromium.org/22852024/diff/72001/src/spaces-inl.h > File src/spaces-inl.h (right): > ...
7 years, 2 months ago (2013-09-26 10:49:38 UTC) #17
loislo
7 years, 2 months ago (2013-09-26 10:49:51 UTC) #18
loislo
https://codereview.chromium.org/22852024/diff/72001/src/spaces-inl.h File src/spaces-inl.h (right): https://codereview.chromium.org/22852024/diff/72001/src/spaces-inl.h#newcode357 src/spaces-inl.h:357: if (profiler->is_tracking_allocations()) { profiler is null here at test-spaces/NewSpace
7 years, 2 months ago (2013-09-26 11:53:06 UTC) #19
yurys
https://codereview.chromium.org/22852024/diff/72001/src/spaces-inl.h File src/spaces-inl.h (right): https://codereview.chromium.org/22852024/diff/72001/src/spaces-inl.h#newcode357 src/spaces-inl.h:357: if (profiler->is_tracking_allocations()) { On 2013/09/26 11:53:07, loislo wrote: > ...
7 years, 2 months ago (2013-09-26 12:17:06 UTC) #20
Alexandra Mikhaylova
https://codereview.chromium.org/22852024/diff/72001/src/heap.cc File src/heap.cc (right): https://codereview.chromium.org/22852024/diff/72001/src/heap.cc#newcode4982 src/heap.cc:4982: object_size); On 2013/09/25 14:51:52, Yury Semikhatsky wrote: > style: ...
7 years, 2 months ago (2013-09-26 13:23:40 UTC) #21
yurys
Does the link to perf results in the description include measurements for patch set #9 ...
7 years, 2 months ago (2013-09-27 11:55:35 UTC) #22
Hannes Payer (out of office)
A few comments and a general question: Is it a problem for your tool if ...
7 years, 2 months ago (2013-10-02 18:00:28 UTC) #23
Hannes Payer (out of office)
https://codereview.chromium.org/22852024/diff/84001/src/heap.cc File src/heap.cc (right): https://codereview.chromium.org/22852024/diff/84001/src/heap.cc#newcode4979 src/heap.cc:4979: HeapProfiler* profiler = isolate()->heap_profiler(); On 2013/10/02 18:00:29, Hannes Payer ...
7 years, 2 months ago (2013-10-02 18:20:03 UTC) #24
Alexandra Mikhaylova
On 2013/10/02 18:20:03, Hannes Payer wrote: > https://codereview.chromium.org/22852024/diff/84001/src/heap.cc > File src/heap.cc (right): > > https://codereview.chromium.org/22852024/diff/84001/src/heap.cc#newcode4979 ...
7 years, 2 months ago (2013-10-03 16:27:37 UTC) #25
Alexandra Mikhaylova
https://codereview.chromium.org/22852024/diff/84001/include/v8-profiler.h File include/v8-profiler.h (right): https://codereview.chromium.org/22852024/diff/84001/include/v8-profiler.h#newcode478 include/v8-profiler.h:478: * and tracking of heap objects population statistics. On ...
7 years, 2 months ago (2013-10-03 16:27:54 UTC) #26
loislo
On 2013/10/03 16:27:54, Alexandra Mikhaylova wrote: > https://codereview.chromium.org/22852024/diff/84001/include/v8-profiler.h > File include/v8-profiler.h (right): > > https://codereview.chromium.org/22852024/diff/84001/include/v8-profiler.h#newcode478 ...
7 years, 2 months ago (2013-10-10 13:40:13 UTC) #27
Hannes Payer (out of office)
I would propose to turn off allocation folding when you turn on object tracking and ...
7 years, 2 months ago (2013-10-10 18:54:39 UTC) #28
loislo
On 2013/10/10 18:54:39, Hannes Payer wrote: > I would propose to turn off allocation folding ...
7 years, 2 months ago (2013-10-11 05:59:32 UTC) #29
Hannes Payer (out of office)
On 2013/10/11 05:59:32, loislo wrote: > On 2013/10/10 18:54:39, Hannes Payer wrote: > > I ...
7 years, 2 months ago (2013-10-11 08:27:11 UTC) #30
yurys
On 2013/10/11 08:27:11, Hannes Payer wrote: > On 2013/10/11 05:59:32, loislo wrote: > > On ...
7 years, 2 months ago (2013-10-11 09:20:14 UTC) #31
Hannes Payer (out of office)
On 2013/10/11 09:20:14, Yury Semikhatsky wrote: > On 2013/10/11 08:27:11, Hannes Payer wrote: > > ...
7 years, 2 months ago (2013-10-11 13:01:43 UTC) #32
yurys
On 2013/10/11 13:01:43, Hannes Payer wrote: > On 2013/10/11 09:20:14, Yury Semikhatsky wrote: > > ...
7 years, 2 months ago (2013-10-14 07:54:15 UTC) #33
Hannes Payer (out of office)
If you do not think that the folding issue should be resolved now than LGTM ...
7 years, 2 months ago (2013-10-14 08:19:32 UTC) #34
yurys
7 years, 2 months ago (2013-10-14 12:41:47 UTC) #35
Message was sent while issue was closed.
Committed patchset #13 manually as r17191 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698