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

Issue 19780002: Convert MethodMirror.returnType to native calls (and more) (Closed)

Created:
7 years, 5 months ago by Michael Lippautz (Google)
Modified:
7 years, 5 months ago
Reviewers:
rmacnak, siva
CC:
reviews_dartlang.org, ahe, gbracha
Visibility:
Public.

Description

Since returnType is represented by a mirror, we make it lazy. We do not use a lazy mirror anymore, but instead create a type mirror upon first access. CreateTypeMirror is already factored out of MethodMirror_return_type since it is needed by others mirrors (future CLs). Also introduces CreateMirror() which will be used in future CLs. BUG= R=asiva@google.com Committed: https://code.google.com/p/dart/source/detail?r=25252

Patch Set 1 #

Patch Set 2 : #

Total comments: 29

Patch Set 3 : #

Patch Set 4 : #

Total comments: 4

Patch Set 5 : #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+175 lines, -18 lines) Patch
M runtime/lib/mirrors.cc View 1 2 3 4 8 chunks +99 lines, -11 lines 0 comments Download
M runtime/lib/mirrors_impl.dart View 1 2 3 6 chunks +13 lines, -7 lines 0 comments Download
M runtime/vm/bootstrap_natives.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/object.h View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/object.cc View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M runtime/vm/symbols.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M tests/lib/lib.status View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
A tests/lib/mirrors/method_mirror_returntype_test.dart View 1 1 chunk +51 lines, -0 lines 1 comment Download

Messages

Total messages: 9 (0 generated)
Michael Lippautz (Google)
https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc File runtime/lib/mirrors.cc (left): https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc#oldcode525 runtime/lib/mirrors.cc:525: Dart_Handle return_type = Dart_FunctionReturnType(func); We get rid of Dart_FunctionReturnType() ...
7 years, 5 months ago (2013-07-19 19:03:01 UTC) #1
rmacnak
https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc File runtime/lib/mirrors.cc (right): https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc#newcode31 runtime/lib/mirrors.cc:31: ASSERT(result.IsInstance()); Doesn't IsInstance() guarantee !IsError()? https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc#newcode1036 runtime/lib/mirrors.cc:1036: // Until ...
7 years, 5 months ago (2013-07-19 20:37:22 UTC) #2
Michael Lippautz (Google)
https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc File runtime/lib/mirrors.cc (right): https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc#newcode31 runtime/lib/mirrors.cc:31: ASSERT(result.IsInstance()); On 2013/07/19 20:37:22, Ryan Macnak wrote: > Doesn't ...
7 years, 5 months ago (2013-07-19 20:53:01 UTC) #3
siva
https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc File runtime/lib/mirrors.cc (right): https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc#newcode26 runtime/lib/mirrors.cc:26: DartLibraryCalls::ExceptionCreate(mirrors_lib, On 2013/07/19 19:03:02, Michael Lippautz wrote: > ExceptionCreate ...
7 years, 5 months ago (2013-07-19 21:01:39 UTC) #4
Michael Lippautz (Google)
https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc File runtime/lib/mirrors.cc (right): https://codereview.chromium.org/19780002/diff/2001/runtime/lib/mirrors.cc#newcode26 runtime/lib/mirrors.cc:26: DartLibraryCalls::ExceptionCreate(mirrors_lib, On 2013/07/19 21:01:40, siva wrote: > On 2013/07/19 ...
7 years, 5 months ago (2013-07-19 22:13:20 UTC) #5
siva
lgtm https://codereview.chromium.org/19780002/diff/15001/runtime/lib/mirrors.cc File runtime/lib/mirrors.cc (right): https://codereview.chromium.org/19780002/diff/15001/runtime/lib/mirrors.cc#newcode1094 runtime/lib/mirrors.cc:1094: return CreateMirror(Symbols::_SpecialTypeMirrorImpl(), args); This ends up creating a ...
7 years, 5 months ago (2013-07-19 22:59:00 UTC) #6
Michael Lippautz (Google)
https://codereview.chromium.org/19780002/diff/15001/runtime/lib/mirrors.cc File runtime/lib/mirrors.cc (right): https://codereview.chromium.org/19780002/diff/15001/runtime/lib/mirrors.cc#newcode1094 runtime/lib/mirrors.cc:1094: return CreateMirror(Symbols::_SpecialTypeMirrorImpl(), args); On 2013/07/19 22:59:01, siva wrote: > ...
7 years, 5 months ago (2013-07-19 23:09:26 UTC) #7
Michael Lippautz (Google)
Committed patchset #5 manually as r25252 (presubmit successful).
7 years, 5 months ago (2013-07-19 23:17:55 UTC) #8
ahe
7 years, 5 months ago (2013-07-20 16:27:40 UTC) #9
Message was sent while issue was closed.
DBC

https://codereview.chromium.org/19780002/diff/21001/tests/lib/mirrors/method_...
File tests/lib/mirrors/method_mirror_returntype_test.dart (right):

https://codereview.chromium.org/19780002/diff/21001/tests/lib/mirrors/method_...
tests/lib/mirrors/method_mirror_returntype_test.dart:28: Expect.equals("int",
_n(mm.returnType.simpleName));
I would prefer if you used const Symbol('int') instead of calling
MirrorSystem.getName.

When we implement symbol literals, we can update code that uses const Symbol.

Powered by Google App Engine
This is Rietveld 408576698