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

Issue 2463083002: Remove default monomorphic check code from functions and stubs that do not need it. (Closed)

Created:
4 years, 1 month ago by regis
Modified:
4 years, 1 month ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Remove default monomorphic check code from functions and stubs that do not need it. R=rmacnak@google.com Committed: https://github.com/dart-lang/sdk/commit/cf52536d0902e7c6b5a3230c2d3fd286c1665735

Patch Set 1 #

Total comments: 2

Patch Set 2 : address comment #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+102 lines, -149 lines) Patch
M runtime/vm/assembler_arm.h View 1 4 chunks +3 lines, -4 lines 0 comments Download
M runtime/vm/assembler_arm.cc View 1 1 chunk +2 lines, -8 lines 0 comments Download
M runtime/vm/assembler_arm64.h View 1 3 chunks +2 lines, -4 lines 0 comments Download
M runtime/vm/assembler_arm64.cc View 1 2 chunks +3 lines, -11 lines 0 comments Download
M runtime/vm/assembler_dbc.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/assembler_ia32.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/assembler_mips.h View 1 4 chunks +3 lines, -3 lines 0 comments Download
M runtime/vm/assembler_mips.cc View 1 1 chunk +2 lines, -9 lines 0 comments Download
M runtime/vm/assembler_x64.h View 3 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/assembler_x64.cc View 2 chunks +3 lines, -10 lines 0 comments Download
M runtime/vm/assembler_x64_test.cc View 5 chunks +0 lines, -10 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm.cc View 2 chunks +7 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm64.cc View 2 chunks +7 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 2 chunks +8 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 4 chunks +8 lines, -5 lines 0 comments Download
M runtime/vm/megamorphic_cache_table.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/object.h View 1 5 chunks +27 lines, -14 lines 2 comments Download
M runtime/vm/object.cc View 1 4 chunks +12 lines, -5 lines 0 comments Download
M runtime/vm/object_test.cc View 2 chunks +5 lines, -7 lines 0 comments Download
M runtime/vm/raw_object.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M runtime/vm/stub_code_arm.cc View 5 chunks +0 lines, -11 lines 0 comments Download
M runtime/vm/stub_code_arm64.cc View 5 chunks +0 lines, -11 lines 0 comments Download
M runtime/vm/stub_code_mips.cc View 5 chunks +0 lines, -11 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 5 chunks +0 lines, -12 lines 0 comments Download
M runtime/vm/thread.h View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 13 (3 generated)
regis
Ryan, The precomp buildbot is red currently, so I am not 100% sure this is ...
4 years, 1 month ago (2016-10-31 16:13:24 UTC) #2
rmacnak
lgtm https://codereview.chromium.org/2463083002/diff/1/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/2463083002/diff/1/runtime/vm/object.cc#newcode14578 runtime/vm/object.cc:14578: ASSERT(!is_optimized() || (pc_offset == Instructions::kUncheckedEntryOffset)); If we are ...
4 years, 1 month ago (2016-11-01 00:50:17 UTC) #3
rmacnak
On 2016/11/01 00:50:17, rmacnak wrote: > lgtm > > https://codereview.chromium.org/2463083002/diff/1/runtime/vm/object.cc > File runtime/vm/object.cc (right): > ...
4 years, 1 month ago (2016-11-01 00:55:30 UTC) #4
regis
PTAL, thanks! https://codereview.chromium.org/2463083002/diff/1/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/2463083002/diff/1/runtime/vm/object.cc#newcode14578 runtime/vm/object.cc:14578: ASSERT(!is_optimized() || (pc_offset == Instructions::kUncheckedEntryOffset)); On 2016/11/01 ...
4 years, 1 month ago (2016-11-02 15:45:35 UTC) #5
regis
On 2016/11/01 00:55:30, rmacnak wrote: > On 2016/11/01 00:50:17, rmacnak wrote: > > lgtm > ...
4 years, 1 month ago (2016-11-02 15:47:01 UTC) #6
Florian Schneider
On 2016/11/02 15:47:01, regis wrote: > On 2016/11/01 00:55:30, rmacnak wrote: > > On 2016/11/01 ...
4 years, 1 month ago (2016-11-02 15:49:01 UTC) #7
rmacnak
lgtm
4 years, 1 month ago (2016-11-02 17:11:13 UTC) #8
regis
Committed patchset #2 (id:20001) manually as cf52536d0902e7c6b5a3230c2d3fd286c1665735 (presubmit successful).
4 years, 1 month ago (2016-11-03 08:41:22 UTC) #10
Vyacheslav Egorov (Google)
DBC These comments are motivated by the fact that we spent some time hunting crashes ...
4 years, 1 month ago (2016-11-10 13:30:49 UTC) #12
regis
4 years, 1 month ago (2016-11-10 19:11:42 UTC) #13
Message was sent while issue was closed.
On 2016/11/10 13:30:49, Vyacheslav Egorov (Google) wrote:
> DBC
> 
> These comments are motivated by the fact that we spent some time hunting
crashes
> in our code after rebasing against HEAD.
> 
> https://codereview.chromium.org/2463083002/diff/20001/runtime/vm/object.h
> File runtime/vm/object.h (right):
> 
>
https://codereview.chromium.org/2463083002/diff/20001/runtime/vm/object.h#new...
> runtime/vm/object.h:4143: intptr_t size() const { return
abs(raw_ptr()->size_);
> }
> Please add a comment to RawInstructions::size_ that it can be negative in
> raw_object.h
> 
> It's a very nice neat trick - but it's utterly confusing that size_ can be
> negative, so this needs to be well documented.
> 
> A much more maintainable approach would be to rename size_ to size_and_flags_
> and store flag using bitfields helpers.
> 
>
https://codereview.chromium.org/2463083002/diff/20001/runtime/vm/object.h#new...
> runtime/vm/object.h:4183: if (instr->ptr()->size_ < 0) {
> I suggest having helper:
> 
> static bool HasSingleEntryPoint(RawIntructions* instr);
> 
> and using it here and below (and above) instead of magical expression. 
> 
> This way if we decide to refactor how this sort of flags are stored - we would
> not need to search all code base for size_ < 0, size_ > 0 comparisons.

Point well taken and sorry for the caused trouble.
I'll add comments and rename the field in a forthcoming cl.

Powered by Google App Engine
This is Rietveld 408576698