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

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

Issue 2998803002: [kernel] Support for top-level generic functions. (Closed)
Patch Set: Review comments. Created 3 years, 4 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 RUNTIME_VM_KERNEL_TO_IL_H_ 5 #ifndef RUNTIME_VM_KERNEL_TO_IL_H_
6 #define RUNTIME_VM_KERNEL_TO_IL_H_ 6 #define RUNTIME_VM_KERNEL_TO_IL_H_
7 7
8 #if !defined(DART_PRECOMPILED_RUNTIME) 8 #if !defined(DART_PRECOMPILED_RUNTIME)
9 9
10 #include "vm/growable_array.h" 10 #include "vm/growable_array.h"
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 Fragment NullConstant(); 560 Fragment NullConstant();
561 Fragment NativeCall(const dart::String* name, const Function* function); 561 Fragment NativeCall(const dart::String* name, const Function* function);
562 Fragment PushArgument(); 562 Fragment PushArgument();
563 Fragment Return(TokenPosition position); 563 Fragment Return(TokenPosition position);
564 Fragment StaticCall(TokenPosition position, 564 Fragment StaticCall(TokenPosition position,
565 const Function& target, 565 const Function& target,
566 intptr_t argument_count); 566 intptr_t argument_count);
567 Fragment StaticCall(TokenPosition position, 567 Fragment StaticCall(TokenPosition position,
568 const Function& target, 568 const Function& target,
569 intptr_t argument_count, 569 intptr_t argument_count,
570 const Array& argument_names); 570 const Array& argument_names,
571 intptr_t type_args_len = 0);
571 Fragment StoreIndexed(intptr_t class_id); 572 Fragment StoreIndexed(intptr_t class_id);
572 Fragment StoreInstanceFieldGuarded(const dart::Field& field, 573 Fragment StoreInstanceFieldGuarded(const dart::Field& field,
573 bool is_initialization_store); 574 bool is_initialization_store);
574 Fragment StoreInstanceField( 575 Fragment StoreInstanceField(
575 const dart::Field& field, 576 const dart::Field& field,
576 bool is_initialization_store, 577 bool is_initialization_store,
577 StoreBarrierType emit_store_barrier = kEmitStoreBarrier); 578 StoreBarrierType emit_store_barrier = kEmitStoreBarrier);
578 Fragment StoreInstanceField( 579 Fragment StoreInstanceField(
579 TokenPosition position, 580 TokenPosition position,
580 intptr_t offset, 581 intptr_t offset,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 intptr_t CurrentTryIndex(); 615 intptr_t CurrentTryIndex();
615 intptr_t AllocateTryIndex() { return next_used_try_index_++; } 616 intptr_t AllocateTryIndex() { return next_used_try_index_++; }
616 617
617 dart::LocalVariable* LookupVariable(VariableDeclaration* var); 618 dart::LocalVariable* LookupVariable(VariableDeclaration* var);
618 dart::LocalVariable* LookupVariable(intptr_t kernel_offset); 619 dart::LocalVariable* LookupVariable(intptr_t kernel_offset);
619 620
620 void SetTempIndex(Definition* definition); 621 void SetTempIndex(Definition* definition);
621 622
622 void Push(Definition* definition); 623 void Push(Definition* definition);
623 Value* Pop(); 624 Value* Pop();
625 intptr_t StackDepth();
624 Fragment Drop(); 626 Fragment Drop();
625 627
626 bool IsInlining() { return exit_collector_ != NULL; } 628 bool IsInlining() { return exit_collector_ != NULL; }
627 629
628 Token::Kind MethodKind(const dart::String& name); 630 Token::Kind MethodKind(const dart::String& name);
629 631
630 void InlineBailout(const char* reason); 632 void InlineBailout(const char* reason);
631 633
632 TranslationHelper translation_helper_; 634 TranslationHelper translation_helper_;
633 Thread* thread_; 635 Thread* thread_;
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 namespace kernel { 949 namespace kernel {
948 950
949 RawObject* EvaluateMetadata(const dart::Field& metadata_field); 951 RawObject* EvaluateMetadata(const dart::Field& metadata_field);
950 RawObject* BuildParameterDescriptor(const Function& function); 952 RawObject* BuildParameterDescriptor(const Function& function);
951 953
952 } // namespace kernel 954 } // namespace kernel
953 } // namespace dart 955 } // namespace dart
954 956
955 #endif // !defined(DART_PRECOMPILED_RUNTIME) 957 #endif // !defined(DART_PRECOMPILED_RUNTIME)
956 #endif // RUNTIME_VM_KERNEL_TO_IL_H_ 958 #endif // RUNTIME_VM_KERNEL_TO_IL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698