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

Issue 693883003: Encode super calls via extra properties on prototypes. (Closed)

Created:
6 years, 1 month ago by herhut
Modified:
6 years, 1 month ago
Reviewers:
karlklose, floitsch, ahe, sra1
CC:
reviews_dartlang.org, floitsch, sra1
Visibility:
Public.

Description

Encode super calls via extra properties on prototypes. BUG= R=floitsch@google.com, sra@google.com Committed: https://code.google.com/p/dart/source/detail?r=41550

Patch Set 1 : #

Total comments: 10

Patch Set 2 : reworked encoding #

Total comments: 2

Patch Set 3 : fix comment #

Patch Set 4 : Fix handling of [Object] and stubs generation. #

Messages

Total messages: 18 (8 generated)
herhut
This changes produces smaller code (not significant when gzipped) but also speeds up super calls ...
6 years, 1 month ago (2014-11-03 09:28:36 UTC) #3
floitsch
DBC. https://codereview.chromium.org/693883003/diff/20001/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart File sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (right): https://codereview.chromium.org/693883003/diff/20001/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart#newcode1686 sdk/lib/_internal/compiler/implementation/ssa/codegen.dart:1686: js.js('#.prototype.#.call(#)', [ indentation.
6 years, 1 month ago (2014-11-03 09:46:23 UTC) #5
sra1
LGTM. I'd like to see the canonical order problem solved before committing since that is ...
6 years, 1 month ago (2014-11-03 18:30:56 UTC) #7
herhut
PTAL I have changed the implementation to encode the alias names in the property itself ...
6 years, 1 month ago (2014-11-04 12:52:49 UTC) #10
floitsch
LGTM. https://codereview.chromium.org/693883003/diff/80001/sdk/lib/_internal/compiler/implementation/js_emitter/old_emitter/emitter.dart File sdk/lib/_internal/compiler/implementation/js_emitter/old_emitter/emitter.dart (right): https://codereview.chromium.org/693883003/diff/80001/sdk/lib/_internal/compiler/implementation/js_emitter/old_emitter/emitter.dart#newcode383 sdk/lib/_internal/compiler/implementation/js_emitter/old_emitter/emitter.dart:383: * string encoding fields, constructor and superclass. Get ...
6 years, 1 month ago (2014-11-04 13:35:22 UTC) #11
herhut
https://codereview.chromium.org/693883003/diff/80001/sdk/lib/_internal/compiler/implementation/js_emitter/old_emitter/emitter.dart File sdk/lib/_internal/compiler/implementation/js_emitter/old_emitter/emitter.dart (right): https://codereview.chromium.org/693883003/diff/80001/sdk/lib/_internal/compiler/implementation/js_emitter/old_emitter/emitter.dart#newcode383 sdk/lib/_internal/compiler/implementation/js_emitter/old_emitter/emitter.dart:383: * string encoding fields, constructor and superclass. Get the ...
6 years, 1 month ago (2014-11-04 13:55:37 UTC) #12
herhut
It turns out that splitting off aliases cannot be piggybacked on inheritFrom, as the Object ...
6 years, 1 month ago (2014-11-05 10:35:29 UTC) #14
sra1
lgtm
6 years, 1 month ago (2014-11-06 04:24:28 UTC) #15
herhut
Committed patchset #4 (id:140001) manually as 41550 (presubmit successful).
6 years, 1 month ago (2014-11-06 12:20:03 UTC) #16
ahe
6 years, 1 month ago (2014-11-10 16:33:10 UTC) #18
Message was sent while issue was closed.
This broke https://codereview.chromium.org/701133003.

When you collect new global information in the backend, I'd appreciate a heads
up. By "new" I mean something that wasn't collected before.

In order to support incremental compilation, I need to:

* remove elements from various collections to avoid memory leaks.

* know how to perform an operation incrementally.

I hope this gives a little insight into what I'd like to be made aware of :-)

Powered by Google App Engine
This is Rietveld 408576698