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

Issue 24203004: Dart VM: Simplify code generation for equality operators. (Closed)

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

Description

Dart VM: Simplify code generation for equality operators. By inserting the necessary checks for null inside the callee at the AST level, the code generation of == operations can be greatly simplified. This is a performance-neutral change and a step for allowing generic inlining of arbitrary == methods. So far we could only inline them for a common set of types in the flow graph optimizer. R=srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=28084

Patch Set 1 #

Patch Set 2 : #

Total comments: 2

Patch Set 3 : fixed single stepping, added debugger test #

Total comments: 4

Patch Set 4 : added more tests, handle native == methods #

Patch Set 5 : rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+128 lines, -696 lines) Patch
M runtime/lib/function.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/debugger.cc View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 1 2 3 4 3 chunks +0 lines, -62 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 3 4 4 chunks +0 lines, -67 lines 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 1 2 3 4 5 chunks +0 lines, -65 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 3 4 4 chunks +0 lines, -65 lines 0 comments Download
M runtime/vm/parser.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/parser.cc View 1 2 3 4 3 chunks +44 lines, -49 lines 0 comments Download
M runtime/vm/stub_code.h View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M runtime/vm/stub_code_arm.cc View 1 2 3 4 1 chunk +0 lines, -86 lines 0 comments Download
M runtime/vm/stub_code_ia32.cc View 1 2 3 4 1 chunk +0 lines, -99 lines 0 comments Download
M runtime/vm/stub_code_mips.cc View 1 2 3 4 1 chunk +0 lines, -104 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 2 3 4 1 chunk +0 lines, -98 lines 0 comments Download
A tests/language/vm/function_equality_vm_test.dart View 1 2 3 1 chunk +19 lines, -0 lines 0 comments Download
A tests/standalone/debugger/step_in_equals_test.dart View 1 2 3 1 chunk +59 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
Florian Schneider
7 years, 3 months ago (2013-09-23 12:04:33 UTC) #1
hausner
This breaks debugging, in particular setting breakpoints on == statements. Also, have Srdjan review this ...
7 years, 3 months ago (2013-09-23 16:51:06 UTC) #2
Florian Schneider
I'll take a look at impact on debugging and add a debugger test if there ...
7 years, 3 months ago (2013-09-23 18:02:36 UTC) #3
Florian Schneider
I added a debugger test: Breakpoints work as before. Single stepping needed a small change ...
7 years, 2 months ago (2013-09-25 15:54:46 UTC) #4
hausner
Thanks for adding the test. See comment about additional test case when comparing directly with ...
7 years, 2 months ago (2013-09-25 16:36:10 UTC) #5
Florian Schneider
https://codereview.chromium.org/24203004/diff/24001/runtime/vm/parser.cc File runtime/vm/parser.cc (right): https://codereview.chromium.org/24203004/diff/24001/runtime/vm/parser.cc#newcode2854 runtime/vm/parser.cc:2854: ParseNativeFunctionBlock(&params, func); On 2013/09/25 16:36:11, hausner wrote: > This ...
7 years, 2 months ago (2013-09-26 11:34:21 UTC) #6
srdjan
DBC: Nice cleanup! Please run a performance check, just in case.
7 years, 2 months ago (2013-09-26 19:49:15 UTC) #7
Florian Schneider
On 2013/09/26 19:49:15, srdjan wrote: > DBC: > Nice cleanup! Please run a performance check, ...
7 years, 2 months ago (2013-09-30 09:30:05 UTC) #8
srdjan
On 2013/09/30 09:30:05, Florian Schneider wrote: > On 2013/09/26 19:49:15, srdjan wrote: > > DBC: ...
7 years, 2 months ago (2013-09-30 14:36:20 UTC) #9
Florian Schneider
7 years, 2 months ago (2013-10-01 10:11:29 UTC) #10
Message was sent while issue was closed.
Committed patchset #5 manually as r28084 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698