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

Issue 2476863004: [Courgette] AssemblyProgram: Serialize data to single raw buffer, instead of storing pointer of obj… (Closed)

Created:
4 years, 1 month ago by huangs
Modified:
3 years, 11 months ago
CC:
chromium-reviews, wfh+watch_chromium.org, huangs+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Courgette] AssemblyProgram: Serialize data to single raw buffer, instead of storing pointer of objects. BUG=660980

Patch Set 1 : Draft: Adding new flow, with debug outputs and junk. #

Patch Set 2 : Refactor; fix REL32ARM serialization to put Label* first; remove dead code. #

Patch Set 3 : Experiment to make code more robust. #

Patch Set 4 : Sync and merge. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+414 lines, -389 lines) Patch
M courgette/adjustment_method.cc View 1 1 chunk +3 lines, -3 lines 0 comments Download
M courgette/adjustment_method_2.cc View 1 1 chunk +4 lines, -4 lines 0 comments Download
M courgette/assembly_program.h View 1 2 3 5 chunks +31 lines, -87 lines 0 comments Download
M courgette/assembly_program.cc View 1 2 3 7 chunks +362 lines, -285 lines 0 comments Download
M courgette/courgette.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M courgette/memory_allocator.h View 1 2 3 3 chunks +11 lines, -8 lines 0 comments Download

Messages

Total messages: 4 (2 generated)
huangs
Patch 2 does things the straightforward way, but is kinda fragile. Patch 3 makes things ...
4 years, 1 month ago (2016-11-07 04:22:45 UTC) #1
huangs
4 years, 1 month ago (2016-11-11 07:00:15 UTC) #4
The CL works: I'm seeing peak RAM reduction near 20 MiB for 32-bit, and 30 MiB
for 64-bit Courgette-apply. However, the serialization code is rather ugly, and
doing it .  In retrospect, Phase 2 is not that hard.  I'm planning to do the
following:

- Abandon this CL.
- CL: Refactor AdjustmentMethod(2) to grab Labels directly from LabelManager.
- CL: Stream data directly from Disassembler to EncodedProgram, using
AssemblyProgram as a thin wrapper.

Will resume next week.  Thanks!

Powered by Google App Engine
This is Rietveld 408576698