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

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

Issue 125943002: Use constants from the frame at OSR entry. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/intermediate_language.h ('k') | runtime/vm/visitor.h » ('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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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/intermediate_language.h" 5 #include "vm/intermediate_language.h"
6 6
7 #include "vm/bigint_operations.h" 7 #include "vm/bigint_operations.h"
8 #include "vm/bit_vector.h" 8 #include "vm/bit_vector.h"
9 #include "vm/dart_entry.h" 9 #include "vm/dart_entry.h"
10 #include "vm/flow_graph_allocator.h" 10 #include "vm/flow_graph_allocator.h"
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 GraphEntryInstr::GraphEntryInstr(const ParsedFunction* parsed_function, 291 GraphEntryInstr::GraphEntryInstr(const ParsedFunction* parsed_function,
292 TargetEntryInstr* normal_entry, 292 TargetEntryInstr* normal_entry,
293 intptr_t osr_id) 293 intptr_t osr_id)
294 : BlockEntryInstr(0, CatchClauseNode::kInvalidTryIndex), 294 : BlockEntryInstr(0, CatchClauseNode::kInvalidTryIndex),
295 parsed_function_(parsed_function), 295 parsed_function_(parsed_function),
296 normal_entry_(normal_entry), 296 normal_entry_(normal_entry),
297 catch_entries_(), 297 catch_entries_(),
298 initial_definitions_(), 298 initial_definitions_(),
299 osr_id_(osr_id), 299 osr_id_(osr_id),
300 entry_count_(0), 300 entry_count_(0),
301 spill_slot_count_(0), 301 spill_slot_count_(0) {
302 fixed_slot_count_(0) {
303 } 302 }
304 303
305 304
306 ConstantInstr* GraphEntryInstr::constant_null() { 305 ConstantInstr* GraphEntryInstr::constant_null() {
307 ASSERT(initial_definitions_.length() > 0); 306 ASSERT(initial_definitions_.length() > 0);
308 for (intptr_t i = 0; i < initial_definitions_.length(); ++i) { 307 for (intptr_t i = 0; i < initial_definitions_.length(); ++i) {
309 ConstantInstr* defn = initial_definitions_[i]->AsConstant(); 308 ConstantInstr* defn = initial_definitions_[i]->AsConstant();
310 if (defn != NULL && defn->value().IsNull()) return defn; 309 if (defn != NULL && defn->value().IsNull()) return defn;
311 } 310 }
312 UNREACHABLE(); 311 UNREACHABLE();
(...skipping 2785 matching lines...) Expand 10 before | Expand all | Expand 10 after
3098 case Token::kTRUNCDIV: return 0; 3097 case Token::kTRUNCDIV: return 0;
3099 case Token::kMOD: return 1; 3098 case Token::kMOD: return 1;
3100 default: UNIMPLEMENTED(); return -1; 3099 default: UNIMPLEMENTED(); return -1;
3101 } 3100 }
3102 } 3101 }
3103 3102
3104 3103
3105 #undef __ 3104 #undef __
3106 3105
3107 } // namespace dart 3106 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language.h ('k') | runtime/vm/visitor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698