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

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

Issue 10539145: Implement polymorphic instance calls. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/flow_graph_compiler_ia32.cc ('k') | runtime/vm/intermediate_language.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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_
6 #define VM_INTERMEDIATE_LANGUAGE_H_ 6 #define VM_INTERMEDIATE_LANGUAGE_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/ast.h" 9 #include "vm/ast.h"
10 #include "vm/growable_array.h" 10 #include "vm/growable_array.h"
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 intptr_t ArgumentCount() const { return arguments_->length(); } 495 intptr_t ArgumentCount() const { return arguments_->length(); }
496 Value* ArgumentAt(intptr_t index) const { return (*arguments_)[index]; } 496 Value* ArgumentAt(intptr_t index) const { return (*arguments_)[index]; }
497 const Array& argument_names() const { return argument_names_; } 497 const Array& argument_names() const { return argument_names_; }
498 intptr_t checked_argument_count() const { return checked_argument_count_; } 498 intptr_t checked_argument_count() const { return checked_argument_count_; }
499 499
500 virtual intptr_t InputCount() const; 500 virtual intptr_t InputCount() const;
501 virtual Value* InputAt(intptr_t i) const { return ArgumentAt(i); } 501 virtual Value* InputAt(intptr_t i) const { return ArgumentAt(i); }
502 502
503 virtual void PrintOperandsTo(BufferFormatter* f) const; 503 virtual void PrintOperandsTo(BufferFormatter* f) const;
504 504
505 bool VerifyComputation();
506
505 private: 507 private:
506 const intptr_t token_index_; 508 const intptr_t token_index_;
507 const intptr_t try_index_; 509 const intptr_t try_index_;
508 const String& function_name_; 510 const String& function_name_;
509 const Token::Kind token_kind_; // Binary op, unary op, kGET or kILLEGAL. 511 const Token::Kind token_kind_; // Binary op, unary op, kGET or kILLEGAL.
510 ZoneGrowableArray<Value*>* const arguments_; 512 ZoneGrowableArray<Value*>* const arguments_;
511 const Array& argument_names_; 513 const Array& argument_names_;
512 const intptr_t checked_argument_count_; 514 const intptr_t checked_argument_count_;
513 515
514 DISALLOW_COPY_AND_ASSIGN(InstanceCallComp); 516 DISALLOW_COPY_AND_ASSIGN(InstanceCallComp);
(...skipping 1853 matching lines...) Expand 10 before | Expand all | Expand 10 after
2368 const GrowableArray<BlockEntryInstr*>& block_order_; 2370 const GrowableArray<BlockEntryInstr*>& block_order_;
2369 2371
2370 private: 2372 private:
2371 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); 2373 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor);
2372 }; 2374 };
2373 2375
2374 2376
2375 } // namespace dart 2377 } // namespace dart
2376 2378
2377 #endif // VM_INTERMEDIATE_LANGUAGE_H_ 2379 #endif // VM_INTERMEDIATE_LANGUAGE_H_
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_compiler_ia32.cc ('k') | runtime/vm/intermediate_language.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698