Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Namespaces | Macros
reusable_handles.h File Reference
#include "vm/allocation.h"
#include "vm/handles.h"
#include "vm/object.h"

Go to the source code of this file.

Namespaces

namespace  dart
 

Macros

#define REUSABLE_SCOPE(name)
 
#define REUSABLE_ABSTRACT_TYPE_HANDLESCOPE(thread)    ReusableAbstractTypeHandleScope reused_abstract_type(thread);
 
#define REUSABLE_ARRAY_HANDLESCOPE(thread)    ReusableArrayHandleScope reused_array_handle(thread);
 
#define REUSABLE_CLASS_HANDLESCOPE(thread)    ReusableClassHandleScope reused_class_handle(thread);
 
#define REUSABLE_CODE_HANDLESCOPE(thread)    ReusableCodeHandleScope reused_code_handle(thread);
 
#define REUSABLE_ERROR_HANDLESCOPE(thread)    ReusableErrorHandleScope reused_error_handle(thread);
 
#define REUSABLE_EXCEPTION_HANDLERS_HANDLESCOPE(thread)    ReusableExceptionHandlersHandleScope reused_exception_handlers_handle(thread);
 
#define REUSABLE_FIELD_HANDLESCOPE(thread)    ReusableFieldHandleScope reused_field_handle(thread);
 
#define REUSABLE_FUNCTION_HANDLESCOPE(thread)    ReusableFunctionHandleScope reused_function_handle(thread);
 
#define REUSABLE_GROWABLE_OBJECT_ARRAY_HANDLESCOPE(thread)
 
#define REUSABLE_INSTANCE_HANDLESCOPE(thread)    ReusableInstanceHandleScope reused_instance_handle(thread);
 
#define REUSABLE_LIBRARY_HANDLESCOPE(thread)    ReusableLibraryHandleScope reused_library_handle(thread);
 
#define REUSABLE_LOADING_UNIT_HANDLESCOPE(thread)    ReusableLoadingUnitHandleScope reused_loading_unit_handle(thread);
 
#define REUSABLE_OBJECT_HANDLESCOPE(thread)    ReusableObjectHandleScope reused_object_handle(thread);
 
#define REUSABLE_PC_DESCRIPTORS_HANDLESCOPE(thread)    ReusablePcDescriptorsHandleScope reused_pc_descriptors_handle(thread);
 
#define REUSABLE_SMI_HANDLESCOPE(thread)    ReusableSmiHandleScope reused_smi_handle(thread);
 
#define REUSABLE_STRING_HANDLESCOPE(thread)    ReusableStringHandleScope reused_string_handle(thread);
 
#define REUSABLE_TYPE_PARAMETERS_HANDLESCOPE(thread)    ReusableTypeParametersHandleScope reused_type_parameters_handle(thread);
 
#define REUSABLE_TYPE_ARGUMENTS_HANDLESCOPE(thread)    ReusableTypeArgumentsHandleScope reused_type_arguments_handle(thread);
 
#define REUSABLE_TYPE_PARAMETER_HANDLESCOPE(thread)    ReusableTypeParameterHandleScope reused_type_parameter(thread);
 
#define REUSABLE_WEAK_ARRAY_HANDLESCOPE(thread)    ReusableWeakArrayHandleScope reused_weak_array(thread);
 

Macro Definition Documentation

◆ REUSABLE_ABSTRACT_TYPE_HANDLESCOPE

#define REUSABLE_ABSTRACT_TYPE_HANDLESCOPE (   thread)     ReusableAbstractTypeHandleScope reused_abstract_type(thread);

Definition at line 78 of file reusable_handles.h.

◆ REUSABLE_ARRAY_HANDLESCOPE

#define REUSABLE_ARRAY_HANDLESCOPE (   thread)     ReusableArrayHandleScope reused_array_handle(thread);

Definition at line 80 of file reusable_handles.h.

◆ REUSABLE_CLASS_HANDLESCOPE

#define REUSABLE_CLASS_HANDLESCOPE (   thread)     ReusableClassHandleScope reused_class_handle(thread);

Definition at line 82 of file reusable_handles.h.

◆ REUSABLE_CODE_HANDLESCOPE

#define REUSABLE_CODE_HANDLESCOPE (   thread)     ReusableCodeHandleScope reused_code_handle(thread);

Definition at line 84 of file reusable_handles.h.

◆ REUSABLE_ERROR_HANDLESCOPE

#define REUSABLE_ERROR_HANDLESCOPE (   thread)     ReusableErrorHandleScope reused_error_handle(thread);

Definition at line 86 of file reusable_handles.h.

◆ REUSABLE_EXCEPTION_HANDLERS_HANDLESCOPE

#define REUSABLE_EXCEPTION_HANDLERS_HANDLESCOPE (   thread)     ReusableExceptionHandlersHandleScope reused_exception_handlers_handle(thread);

Definition at line 88 of file reusable_handles.h.

◆ REUSABLE_FIELD_HANDLESCOPE

#define REUSABLE_FIELD_HANDLESCOPE (   thread)     ReusableFieldHandleScope reused_field_handle(thread);

Definition at line 90 of file reusable_handles.h.

◆ REUSABLE_FUNCTION_HANDLESCOPE

#define REUSABLE_FUNCTION_HANDLESCOPE (   thread)     ReusableFunctionHandleScope reused_function_handle(thread);

Definition at line 92 of file reusable_handles.h.

◆ REUSABLE_GROWABLE_OBJECT_ARRAY_HANDLESCOPE

#define REUSABLE_GROWABLE_OBJECT_ARRAY_HANDLESCOPE (   thread)
Value:
ReusableGrowableObjectArrayHandleScope reused_growable_object_array_handle( \
thread)

Definition at line 94 of file reusable_handles.h.

◆ REUSABLE_INSTANCE_HANDLESCOPE

#define REUSABLE_INSTANCE_HANDLESCOPE (   thread)     ReusableInstanceHandleScope reused_instance_handle(thread);

Definition at line 97 of file reusable_handles.h.

◆ REUSABLE_LIBRARY_HANDLESCOPE

#define REUSABLE_LIBRARY_HANDLESCOPE (   thread)     ReusableLibraryHandleScope reused_library_handle(thread);

Definition at line 99 of file reusable_handles.h.

◆ REUSABLE_LOADING_UNIT_HANDLESCOPE

#define REUSABLE_LOADING_UNIT_HANDLESCOPE (   thread)     ReusableLoadingUnitHandleScope reused_loading_unit_handle(thread);

Definition at line 101 of file reusable_handles.h.

◆ REUSABLE_OBJECT_HANDLESCOPE

#define REUSABLE_OBJECT_HANDLESCOPE (   thread)     ReusableObjectHandleScope reused_object_handle(thread);

Definition at line 103 of file reusable_handles.h.

◆ REUSABLE_PC_DESCRIPTORS_HANDLESCOPE

#define REUSABLE_PC_DESCRIPTORS_HANDLESCOPE (   thread)     ReusablePcDescriptorsHandleScope reused_pc_descriptors_handle(thread);

Definition at line 105 of file reusable_handles.h.

◆ REUSABLE_SCOPE

#define REUSABLE_SCOPE (   name)
Value:
class Reusable##name##HandleScope : public ValueObject { \
public: \
explicit Reusable##name##HandleScope(Thread* thread = Thread::Current()) \
: handle_(thread->name##_handle_) {} \
~Reusable##name##HandleScope() { \
handle_->ptr_ = name::null(); \
} \
name& Handle() const { \
ASSERT(handle_ != nullptr); \
return *handle_; \
} \
\
private: \
DISALLOW_COPY_AND_ASSIGN(Reusable##name##HandleScope); \
};
const char * name
Definition fuchsia.cc:50
fuchsia::ui::composition::ParentViewportWatcherHandle handle_

Definition at line 57 of file reusable_handles.h.

58 : public ValueObject { \
59 public: \
60 explicit Reusable##name##HandleScope(Thread* thread = Thread::Current()) \
61 : handle_(thread->name##_handle_) {} \
62 ~Reusable##name##HandleScope() { \
63 handle_->ptr_ = name::null(); \
64 } \
65 name& Handle() const { \
66 ASSERT(handle_ != nullptr); \
67 return *handle_; \
68 } \
69 \
70 private: \
71 name* handle_; \
72 DISALLOW_COPY_AND_ASSIGN(Reusable##name##HandleScope); \
73 };

◆ REUSABLE_SMI_HANDLESCOPE

#define REUSABLE_SMI_HANDLESCOPE (   thread)     ReusableSmiHandleScope reused_smi_handle(thread);

Definition at line 107 of file reusable_handles.h.

◆ REUSABLE_STRING_HANDLESCOPE

#define REUSABLE_STRING_HANDLESCOPE (   thread)     ReusableStringHandleScope reused_string_handle(thread);

Definition at line 109 of file reusable_handles.h.

◆ REUSABLE_TYPE_ARGUMENTS_HANDLESCOPE

#define REUSABLE_TYPE_ARGUMENTS_HANDLESCOPE (   thread)     ReusableTypeArgumentsHandleScope reused_type_arguments_handle(thread);

Definition at line 113 of file reusable_handles.h.

◆ REUSABLE_TYPE_PARAMETER_HANDLESCOPE

#define REUSABLE_TYPE_PARAMETER_HANDLESCOPE (   thread)     ReusableTypeParameterHandleScope reused_type_parameter(thread);

Definition at line 115 of file reusable_handles.h.

◆ REUSABLE_TYPE_PARAMETERS_HANDLESCOPE

#define REUSABLE_TYPE_PARAMETERS_HANDLESCOPE (   thread)     ReusableTypeParametersHandleScope reused_type_parameters_handle(thread);

Definition at line 111 of file reusable_handles.h.

◆ REUSABLE_WEAK_ARRAY_HANDLESCOPE

#define REUSABLE_WEAK_ARRAY_HANDLESCOPE (   thread)     ReusableWeakArrayHandleScope reused_weak_array(thread);

Definition at line 117 of file reusable_handles.h.