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

Unified Diff: sdk/lib/_internal/compiler/implementation/types/container_tracer.dart

Issue 19492004: Revert r-25106, js semantics for numbers pop up again. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/_internal/compiler/implementation/types/container_tracer.dart
===================================================================
--- sdk/lib/_internal/compiler/implementation/types/container_tracer.dart (revision 25109)
+++ sdk/lib/_internal/compiler/implementation/types/container_tracer.dart (working copy)
@@ -94,17 +94,13 @@
measure(() {
SimpleTypesInferrer inferrer = compiler.typesTask.typesInferrer;
var internal = inferrer.internal;
- int maxAnalysis = internal.numberOfElementsToAnalyze;
- int analysisCount = 0;
// Walk over all created [ContainerTypeMask].
- for (ContainerTypeMask mask in internal.concreteTypes.values) {
+ internal.concreteTypes.values.forEach((ContainerTypeMask mask) {
// The element type has already been set for const containers.
- if (mask.elementType != null) continue;
- TracerForConcreteContainer tracer = new TracerForConcreteContainer(
- mask, this, compiler, inferrer);
- mask.elementType = tracer.run();
- if ((analysisCount += tracer.analysisCount) > maxAnalysis) break;
- }
+ if (mask.elementType != null) return;
+ mask.elementType = new TracerForConcreteContainer(
+ mask, this, compiler, inferrer).run();
+ });
});
}
}
@@ -143,7 +139,6 @@
TypeMask potentialType;
bool continueAnalyzing = true;
- int analysisCount = 0;
TracerForConcreteContainer(ContainerTypeMask mask,
this.tracer,
@@ -153,6 +148,7 @@
startElement = mask.allocationElement;
TypeMask run() {
+ int analysisCount = 0;
workList.add(startElement);
while (!workList.isEmpty) {
if (workList.length + analysisCount > MAX_ANALYSIS_COUNT) {
« no previous file with comments | « no previous file | sdk/lib/_internal/compiler/implementation/types/inferrer_visitor.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698