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

Side by Side Diff: runtime/vm/precompiler.cc

Issue 2083103002: Remove some uses of STL map. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 6 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 unified diff | Download patch
« no previous file with comments | « runtime/vm/object.cc ('k') | runtime/vm/profiler_service.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/precompiler.h" 5 #include "vm/precompiler.h"
6 6
7 #include "vm/aot_optimizer.h" 7 #include "vm/aot_optimizer.h"
8 #include "vm/assembler.h" 8 #include "vm/assembler.h"
9 #include "vm/ast_printer.h" 9 #include "vm/ast_printer.h"
10 #include "vm/branch_optimizer.h" 10 #include "vm/branch_optimizer.h"
(...skipping 1890 matching lines...) Expand 10 before | Expand all | Expand 10 after
1901 if (stackmaps_.IsNull()) return; 1901 if (stackmaps_.IsNull()) return;
1902 for (intptr_t i = 0; i < stackmaps_.Length(); i++) { 1902 for (intptr_t i = 0; i < stackmaps_.Length(); i++) {
1903 stackmap_ ^= stackmaps_.At(i); 1903 stackmap_ ^= stackmaps_.At(i);
1904 stackmap_ = DedupStackmap(stackmap_); 1904 stackmap_ = DedupStackmap(stackmap_);
1905 stackmaps_.SetAt(i, stackmap_); 1905 stackmaps_.SetAt(i, stackmap_);
1906 } 1906 }
1907 } 1907 }
1908 1908
1909 RawStackmap* DedupStackmap(const Stackmap& stackmap) { 1909 RawStackmap* DedupStackmap(const Stackmap& stackmap) {
1910 const Stackmap* canonical_stackmap = 1910 const Stackmap* canonical_stackmap =
1911 canonical_stackmaps_.Lookup(&stackmap); 1911 canonical_stackmaps_.LookupValue(&stackmap);
1912 if (canonical_stackmap == NULL) { 1912 if (canonical_stackmap == NULL) {
1913 canonical_stackmaps_.Insert( 1913 canonical_stackmaps_.Insert(
1914 &Stackmap::ZoneHandle(zone_, stackmap.raw())); 1914 &Stackmap::ZoneHandle(zone_, stackmap.raw()));
1915 return stackmap.raw(); 1915 return stackmap.raw();
1916 } else { 1916 } else {
1917 return canonical_stackmap->raw(); 1917 return canonical_stackmap->raw();
1918 } 1918 }
1919 } 1919 }
1920 1920
1921 private: 1921 private:
(...skipping 27 matching lines...) Expand all
1949 code_ = function.CurrentCode(); 1949 code_ = function.CurrentCode();
1950 stackmaps_ = code_.stackmaps(); 1950 stackmaps_ = code_.stackmaps();
1951 if (stackmaps_.IsNull()) return; 1951 if (stackmaps_.IsNull()) return;
1952 1952
1953 stackmaps_ = DedupStackmapList(stackmaps_); 1953 stackmaps_ = DedupStackmapList(stackmaps_);
1954 code_.set_stackmaps(stackmaps_); 1954 code_.set_stackmaps(stackmaps_);
1955 } 1955 }
1956 1956
1957 RawArray* DedupStackmapList(const Array& stackmaps) { 1957 RawArray* DedupStackmapList(const Array& stackmaps) {
1958 const Array* canonical_stackmap_list = 1958 const Array* canonical_stackmap_list =
1959 canonical_stackmap_lists_.Lookup(&stackmaps); 1959 canonical_stackmap_lists_.LookupValue(&stackmaps);
1960 if (canonical_stackmap_list == NULL) { 1960 if (canonical_stackmap_list == NULL) {
1961 canonical_stackmap_lists_.Insert( 1961 canonical_stackmap_lists_.Insert(
1962 &Array::ZoneHandle(zone_, stackmaps.raw())); 1962 &Array::ZoneHandle(zone_, stackmaps.raw()));
1963 return stackmaps.raw(); 1963 return stackmaps.raw();
1964 } else { 1964 } else {
1965 return canonical_stackmap_list->raw(); 1965 return canonical_stackmap_list->raw();
1966 } 1966 }
1967 } 1967 }
1968 1968
1969 private: 1969 private:
(...skipping 27 matching lines...) Expand all
1997 code_ = function.CurrentCode(); 1997 code_ = function.CurrentCode();
1998 instructions_ = code_.instructions(); 1998 instructions_ = code_.instructions();
1999 instructions_ = DedupOneInstructions(instructions_); 1999 instructions_ = DedupOneInstructions(instructions_);
2000 code_.SetActiveInstructions(instructions_.raw()); 2000 code_.SetActiveInstructions(instructions_.raw());
2001 code_.set_instructions(instructions_.raw()); 2001 code_.set_instructions(instructions_.raw());
2002 function.SetInstructions(code_); // Update cached entry point. 2002 function.SetInstructions(code_); // Update cached entry point.
2003 } 2003 }
2004 2004
2005 RawInstructions* DedupOneInstructions(const Instructions& instructions) { 2005 RawInstructions* DedupOneInstructions(const Instructions& instructions) {
2006 const Instructions* canonical_instructions = 2006 const Instructions* canonical_instructions =
2007 canonical_instructions_set_.Lookup(&instructions); 2007 canonical_instructions_set_.LookupValue(&instructions);
2008 if (canonical_instructions == NULL) { 2008 if (canonical_instructions == NULL) {
2009 canonical_instructions_set_.Insert( 2009 canonical_instructions_set_.Insert(
2010 &Instructions::ZoneHandle(zone_, instructions.raw())); 2010 &Instructions::ZoneHandle(zone_, instructions.raw()));
2011 return instructions.raw(); 2011 return instructions.raw();
2012 } else { 2012 } else {
2013 return canonical_instructions->raw(); 2013 return canonical_instructions->raw();
2014 } 2014 }
2015 } 2015 }
2016 2016
2017 private: 2017 private:
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after
2848 CompilationPipeline::New(thread->zone(), function); 2848 CompilationPipeline::New(thread->zone(), function);
2849 2849
2850 ASSERT(FLAG_precompiled_mode); 2850 ASSERT(FLAG_precompiled_mode);
2851 const bool optimized = function.IsOptimizable(); // False for natives. 2851 const bool optimized = function.IsOptimizable(); // False for natives.
2852 return PrecompileFunctionHelper(pipeline, function, optimized); 2852 return PrecompileFunctionHelper(pipeline, function, optimized);
2853 } 2853 }
2854 2854
2855 #endif // DART_PRECOMPILER 2855 #endif // DART_PRECOMPILER
2856 2856
2857 } // namespace dart 2857 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/object.cc ('k') | runtime/vm/profiler_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698