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

Issue 471283002: Runtime support for evaluation of static field initializer expressions (Closed)

Created:
6 years, 4 months ago by hausner
Modified:
6 years, 4 months ago
CC:
reviews_dartlang.org, turnidge, Cutch, vm-dev_dartlang.org
Visibility:
Public.

Description

Runtime support for evaluation of static field initializer expressions Eliminates the generation of field initializer functions by the parser. Adds a runtime call that creates a one-shot function to evaluate the initializer of a static field. The runtime function gets called from the implicit static getter function for the field. R=srdjan@google.com, zra@google.com Committed: https://code.google.com/p/dart/source/detail?r=39387

Patch Set 1 #

Total comments: 2

Patch Set 2 : #

Total comments: 11

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+430 lines, -279 lines) Patch
M runtime/vm/ast.h View 1 2 2 chunks +21 lines, -0 lines 0 comments Download
M runtime/vm/ast_printer.cc View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/ast_transformer.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/class_finalizer.cc View 1 2 1 chunk +0 lines, -7 lines 0 comments Download
M runtime/vm/code_generator.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/code_generator.cc View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/compiler.h View 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/compiler.cc View 2 chunks +34 lines, -1 line 0 comments Download
M runtime/vm/debugger.cc View 1 chunk +0 lines, -1 line 0 comments Download
M runtime/vm/exceptions.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/exceptions.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language.h View 2 chunks +26 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 1 chunk +37 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_arm64.cc View 1 chunk +36 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 2 chunks +39 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 1 chunk +41 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 chunk +38 lines, -0 lines 0 comments Download
M runtime/vm/mirrors_api_impl.cc View 1 chunk +0 lines, -1 line 0 comments Download
M runtime/vm/object.h View 6 chunks +2 lines, -14 lines 0 comments Download
M runtime/vm/object.cc View 7 chunks +28 lines, -53 lines 0 comments Download
M runtime/vm/parser.h View 2 chunks +6 lines, -1 line 0 comments Download
M runtime/vm/parser.cc View 6 chunks +76 lines, -195 lines 0 comments Download
M runtime/vm/raw_object.h View 1 chunk +0 lines, -1 line 0 comments Download
M tests/language/language.status View 1 chunk +0 lines, -3 lines 0 comments Download
M tests/language/language_dart2js.status View 1 chunk +2 lines, -0 lines 0 comments Download
M tests/language/lazy_static3_test.dart View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 11 (0 generated)
hausner
Srdjan, do you mind taking a first look while I work on the backend support ...
6 years, 4 months ago (2014-08-14 23:31:26 UTC) #1
Florian Schneider
I like the simplification in the parser code. I'd prefer a solution with only minimal ...
6 years, 4 months ago (2014-08-15 09:56:35 UTC) #2
hausner
This CL is complete now. Adding Zach as a reviewer to look at the mips ...
6 years, 4 months ago (2014-08-15 23:00:46 UTC) #3
zra
https://codereview.chromium.org/471283002/diff/20001/runtime/vm/intermediate_language_arm.cc File runtime/vm/intermediate_language_arm.cc (right): https://codereview.chromium.org/471283002/diff/20001/runtime/vm/intermediate_language_arm.cc#newcode2643 runtime/vm/intermediate_language_arm.cc:2643: locs->set_temp(0, Location::RegisterLocation(R1)); Why does the temp register need to ...
6 years, 4 months ago (2014-08-18 15:56:09 UTC) #4
zra
https://codereview.chromium.org/471283002/diff/20001/runtime/vm/intermediate_language_arm.cc File runtime/vm/intermediate_language_arm.cc (right): https://codereview.chromium.org/471283002/diff/20001/runtime/vm/intermediate_language_arm.cc#newcode2643 runtime/vm/intermediate_language_arm.cc:2643: locs->set_temp(0, Location::RegisterLocation(R1)); On 2014/08/18 15:56:09, zra wrote: > Why ...
6 years, 4 months ago (2014-08-18 17:15:54 UTC) #5
hausner
https://codereview.chromium.org/471283002/diff/20001/runtime/vm/intermediate_language_arm.cc File runtime/vm/intermediate_language_arm.cc (right): https://codereview.chromium.org/471283002/diff/20001/runtime/vm/intermediate_language_arm.cc#newcode2643 runtime/vm/intermediate_language_arm.cc:2643: locs->set_temp(0, Location::RegisterLocation(R1)); I initially tried to use Location::RequiresRegister() but ...
6 years, 4 months ago (2014-08-19 17:19:14 UTC) #6
zra
arm/mips lgtm
6 years, 4 months ago (2014-08-19 17:25:02 UTC) #7
srdjan
https://codereview.chromium.org/471283002/diff/20001/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/471283002/diff/20001/runtime/vm/compiler.cc#newcode933 runtime/vm/compiler.cc:933: ASSERT(field.is_static()); Do you want to check if it was ...
6 years, 4 months ago (2014-08-19 18:49:39 UTC) #8
hausner
https://codereview.chromium.org/471283002/diff/20001/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/471283002/diff/20001/runtime/vm/compiler.cc#newcode933 runtime/vm/compiler.cc:933: ASSERT(field.is_static()); On 2014/08/19 18:49:38, srdjan wrote: > Do you ...
6 years, 4 months ago (2014-08-19 20:54:00 UTC) #9
srdjan
lgtm
6 years, 4 months ago (2014-08-19 21:04:51 UTC) #10
hausner
6 years, 4 months ago (2014-08-19 21:54:05 UTC) #11
Message was sent while issue was closed.
Committed patchset #3 manually as r39387 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698