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

Issue 18209024: Correct handling of named optional parameters with noSuchMethod invocations. (Closed)

Created:
7 years, 5 months ago by Florian Schneider
Modified:
7 years, 5 months ago
Reviewers:
srdjan
CC:
reviews_dartlang.org, vm-dev_dartlang.org, Ivan Posva
Visibility:
Public.

Description

Correct handling of named optional parameters with noSuchMethod invocations. This CL fixes a performance bug with noSuchMethod and named parameters. It also simplifies the platform-specific code by removing special casing for the noSuchMethod-dispatcher functions in the flow graph compiler. Before using named optional parameters would still go through the slow runtime in certain conditions: When running without inlining, or when the dispatcher function was not inlined because of e.g. inlining size heuristics, noSuchMethod would be slow if invoked with named parameters. R=srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=24906

Patch Set 1 #

Total comments: 2

Patch Set 2 : addressed comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+70 lines, -28 lines) Patch
M runtime/vm/dart_entry.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/dart_entry.cc View 1 1 chunk +10 lines, -3 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm.cc View 2 chunks +2 lines, -3 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 2 chunks +2 lines, -3 lines 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 2 chunks +2 lines, -3 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 2 chunks +2 lines, -3 lines 0 comments Download
M runtime/vm/object.cc View 2 chunks +16 lines, -8 lines 0 comments Download
M runtime/vm/parser.h View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/parser.cc View 4 chunks +33 lines, -4 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Florian Schneider
7 years, 5 months ago (2013-07-10 14:10:12 UTC) #1
srdjan
lgtm https://codereview.chromium.org/18209024/diff/1/runtime/vm/dart_entry.cc File runtime/vm/dart_entry.cc (right): https://codereview.chromium.org/18209024/diff/1/runtime/vm/dart_entry.cc#newcode185 runtime/vm/dart_entry.cc:185: return array_.At(offset) == other.raw(); Reuse NameAt here
7 years, 5 months ago (2013-07-10 23:29:04 UTC) #2
Florian Schneider
https://codereview.chromium.org/18209024/diff/1/runtime/vm/dart_entry.cc File runtime/vm/dart_entry.cc (right): https://codereview.chromium.org/18209024/diff/1/runtime/vm/dart_entry.cc#newcode185 runtime/vm/dart_entry.cc:185: return array_.At(offset) == other.raw(); On 2013/07/10 23:29:04, srdjan wrote: ...
7 years, 5 months ago (2013-07-11 09:21:23 UTC) #3
Florian Schneider
7 years, 5 months ago (2013-07-11 10:01:58 UTC) #4
Message was sent while issue was closed.
Committed patchset #2 manually as r24906 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698