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

Issue 10837303: Make stackmaps store their actual length. (Closed)

Created:
8 years, 4 months ago by Kevin Millikin (Google)
Modified:
8 years, 4 months ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Make stackmaps store their actual length. This allows stackmaps with varying lengths in the same function, necessary for the way we plan to support bitmaps for saved live registers. R=vegorov@google.com BUG= Committed: https://code.google.com/p/dart/source/detail?r=11019

Patch Set 1 #

Total comments: 9
Unified diffs Side-by-side diffs Delta from patch set Stats (+106 lines, -213 lines) Patch
M runtime/vm/bitmap.h View 1 chunk +0 lines, -3 lines 1 comment Download
M runtime/vm/bitmap.cc View 1 chunk +0 lines, -19 lines 0 comments Download
M runtime/vm/bitmap_test.cc View 1 chunk +0 lines, -25 lines 0 comments Download
M runtime/vm/code_descriptors.h View 2 chunks +3 lines, -3 lines 2 comments Download
M runtime/vm/code_descriptors.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/code_descriptors_test.cc View 7 chunks +36 lines, -46 lines 1 comment Download
M runtime/vm/compiler.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M runtime/vm/object.h View 4 chunks +14 lines, -35 lines 1 comment Download
M runtime/vm/object.cc View 3 chunks +28 lines, -36 lines 4 comments Download
M runtime/vm/raw_object.h View 2 chunks +9 lines, -21 lines 0 comments Download
M runtime/vm/raw_object.cc View 2 chunks +5 lines, -5 lines 0 comments Download
M runtime/vm/stack_frame.cc View 2 chunks +10 lines, -16 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Kevin Millikin (Google)
8 years, 4 months ago (2012-08-17 09:02:57 UTC) #1
Kevin Millikin (Google)
https://chromiumcodereview.appspot.com/10837303/diff/1/runtime/vm/bitmap.h File runtime/vm/bitmap.h (left): https://chromiumcodereview.appspot.com/10837303/diff/1/runtime/vm/bitmap.h#oldcode45 runtime/vm/bitmap.h:45: void SetBits(const Stackmap& stackmap); This function is unused and ...
8 years, 4 months ago (2012-08-17 09:07:43 UTC) #2
Vyacheslav Egorov (Google)
lgtm
8 years, 4 months ago (2012-08-20 12:22:12 UTC) #3
srdjan
DBC, questions. https://chromiumcodereview.appspot.com/10837303/diff/1/runtime/vm/code_descriptors.h File runtime/vm/code_descriptors.h (right): https://chromiumcodereview.appspot.com/10837303/diff/1/runtime/vm/code_descriptors.h#newcode86 runtime/vm/code_descriptors.h:86: const intptr_t entry_length_; Why did you remove ...
8 years, 4 months ago (2012-08-21 16:06:04 UTC) #4
Kevin Millikin (Google)
8 years, 4 months ago (2012-08-22 07:34:18 UTC) #5
https://chromiumcodereview.appspot.com/10837303/diff/1/runtime/vm/code_descri...
File runtime/vm/code_descriptors.h (right):

https://chromiumcodereview.appspot.com/10837303/diff/1/runtime/vm/code_descri...
runtime/vm/code_descriptors.h:86: const intptr_t entry_length_;
On 2012/08/21 16:06:04, srdjan wrote:
> Why did you remove the _in_bits?  I assume it is now in bytes

No, it's the number of entries in each stackmap.  Internally, there is one bit
per entry but that is an implementation detail.  I got rid of the _in_bits part
because I don't think it matters.

I'm happy to see the name change if there are better alternatives (note that
this field is already eliminated in a change that I have out for review).

https://chromiumcodereview.appspot.com/10837303/diff/1/runtime/vm/object.cc
File runtime/vm/object.cc (right):

https://chromiumcodereview.appspot.com/10837303/diff/1/runtime/vm/object.cc#n...
runtime/vm/object.cc:6940: void Stackmap::SetCode(const dart::Code& code) const
{
On 2012/08/21 16:06:04, srdjan wrote:
> Why dart:: ?

Because C++.

Class Code is shadowed by the accessor member function Stackmap::Code() so it
needs to be qualified.

The previous solution was to use a different naming scheme from the rest of the
Stackmap class for that one function.  I thought qualifying class Code in two
signatures was less intrusive.

https://chromiumcodereview.appspot.com/10837303/diff/1/runtime/vm/object.cc#n...
runtime/vm/object.cc:6980: (kSmiMax -
static_cast<intptr_t>(sizeof(RawStackmap)))) {
On 2012/08/21 16:06:04, srdjan wrote:
> Add parenthesis

OK.  Incorporated in an outstanding change list.

Powered by Google App Engine
This is Rietveld 408576698