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

Unified Diff: runtime/vm/object.cc

Issue 2974233002: VM: Re-format to use at most one newline between functions (Closed)
Patch Set: Rebase and merge Created 3 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/object.h ('k') | runtime/vm/object_arm64_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/object.cc
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index fdb2ddf1663b67cc1df6d84919644f31753c07d6..85b6e8356e178170611a2e591f3537fca1efa6fa 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -8,13 +8,13 @@
#include "platform/assert.h"
#include "vm/assembler.h"
#include "vm/become.h"
-#include "vm/cpu.h"
#include "vm/bit_vector.h"
#include "vm/bootstrap.h"
#include "vm/class_finalizer.h"
#include "vm/code_observers.h"
#include "vm/compiler.h"
#include "vm/compiler_stats.h"
+#include "vm/cpu.h"
#include "vm/dart.h"
#include "vm/dart_api_state.h"
#include "vm/dart_entry.h"
@@ -92,7 +92,6 @@ static const intptr_t kGetterPrefixLength = strlen(kGetterPrefix);
static const char* const kSetterPrefix = "set:";
static const intptr_t kSetterPrefixLength = strlen(kSetterPrefix);
-
// A cache of VM heap allocated preinitialized empty ic data entry arrays.
RawArray* ICData::cached_icdata_arrays_[kCachedICDataArrayCount];
@@ -183,10 +182,8 @@ RawClass* Object::unhandled_exception_class_ =
reinterpret_cast<RawClass*>(RAW_NULL);
RawClass* Object::unwind_error_class_ = reinterpret_cast<RawClass*>(RAW_NULL);
-
const double MegamorphicCache::kLoadFactor = 0.50;
-
static void AppendSubString(Zone* zone,
GrowableArray<const char*>* segments,
const char* name,
@@ -198,7 +195,6 @@ static void AppendSubString(Zone* zone,
segments->Add(segment);
}
-
static const char* MergeSubStrings(Zone* zone,
const GrowableArray<const char*>& segments,
intptr_t alloc_len) {
@@ -215,7 +211,6 @@ static const char* MergeSubStrings(Zone* zone,
return result;
}
-
// Remove private keys, but retain getter/setter/constructor/mixin manglings.
RawString* String::RemovePrivateKey(const String& name) {
ASSERT(name.IsOneByteString());
@@ -237,7 +232,6 @@ RawString* String::RemovePrivateKey(const String& name) {
return String::FromLatin1(without_key.data(), without_key.length());
}
-
// Takes a vm internal name and makes it suitable for external user.
//
// Examples:
@@ -371,7 +365,6 @@ RawString* String::ScrubName(const String& name) {
return Symbols::New(thread, unmangled_name);
}
-
RawString* String::ScrubNameRetainPrivate(const String& name) {
#if !defined(PRODUCT)
intptr_t len = name.Length();
@@ -420,7 +413,6 @@ RawString* String::ScrubNameRetainPrivate(const String& name) {
return name.raw(); // In PRODUCT, return argument unchanged.
}
-
template <typename type>
static bool IsSpecialCharacter(type value) {
return ((value == '"') || (value == '\n') || (value == '\f') ||
@@ -428,17 +420,14 @@ static bool IsSpecialCharacter(type value) {
(value == '\r') || (value == '\\') || (value == '$'));
}
-
static inline bool IsAsciiNonprintable(int32_t c) {
return ((0 <= c) && (c < 32)) || (c == 127);
}
-
static inline bool NeedsEscapeSequence(int32_t c) {
return (c == '"') || (c == '\\') || (c == '$') || IsAsciiNonprintable(c);
}
-
static int32_t EscapeOverhead(int32_t c) {
if (IsSpecialCharacter(c)) {
return 1; // 1 additional byte for the backslash.
@@ -448,7 +437,6 @@ static int32_t EscapeOverhead(int32_t c) {
return 0;
}
-
template <typename type>
static type SpecialCharacter(type value) {
if (value == '"') {
@@ -474,7 +462,6 @@ static type SpecialCharacter(type value) {
return '\0';
}
-
void Object::InitNull(Isolate* isolate) {
// Should only be run by the vm isolate.
ASSERT(isolate == Dart::vm_isolate());
@@ -495,7 +482,6 @@ void Object::InitNull(Isolate* isolate) {
}
}
-
void Object::InitOnce(Isolate* isolate) {
// Should only be run by the vm isolate.
ASSERT(isolate == Dart::vm_isolate());
@@ -990,7 +976,6 @@ void Object::InitOnce(Isolate* isolate) {
ASSERT(vm_isolate_snapshot_object_table_->IsArray());
}
-
// An object visitor which will mark all visited objects. This is used to
// premark all objects in the vm_isolate_ heap. Also precalculates hash
// codes so that we can get the identity hash code of objects in the read-
@@ -1043,7 +1028,6 @@ class FinalizeVMIsolateVisitor : public ObjectVisitor {
#endif
};
-
#define SET_CLASS_NAME(class_name, name) \
cls = class_name##_class(); \
cls.set_name(Symbols::name());
@@ -1063,7 +1047,6 @@ void Object::FinalizeVMIsolate(Isolate* isolate) {
ASSERT(!extractor_parameter_names_->IsSmi());
ASSERT(extractor_parameter_names_->IsArray());
-
// Set up names for all VM singleton classes.
Class& cls = Class::Handle();
@@ -1128,13 +1111,11 @@ void Object::FinalizeVMIsolate(Isolate* isolate) {
}
}
-
void Object::set_vm_isolate_snapshot_object_table(const Array& table) {
ASSERT(Isolate::Current() == Dart::vm_isolate());
*vm_isolate_snapshot_object_table_ = table.raw();
}
-
// Make unused space in an object whose type has been transformed safe
// for traversing during GC.
// The unused part of the transformed object is marked as an TypedDataInt8Array
@@ -1186,7 +1167,6 @@ void Object::MakeUnusedSpaceTraversable(const Object& obj,
}
}
-
void Object::VerifyBuiltinVtables() {
#if defined(DEBUG)
Thread* thread = Thread::Current();
@@ -1203,7 +1183,6 @@ void Object::VerifyBuiltinVtables() {
#endif
}
-
void Object::RegisterClass(const Class& cls,
const String& name,
const Library& lib) {
@@ -1213,7 +1192,6 @@ void Object::RegisterClass(const Class& cls,
lib.AddClass(cls);
}
-
void Object::RegisterPrivateClass(const Class& cls,
const String& public_class_name,
const Library& lib) {
@@ -1225,7 +1203,6 @@ void Object::RegisterPrivateClass(const Class& cls,
lib.AddClass(cls);
}
-
// Initialize a new isolate from source or from a snapshot.
//
// There are three possibilities:
@@ -1867,7 +1844,6 @@ RawError* Object::Init(Isolate* isolate, kernel::Program* kernel_program) {
return Error::null();
}
-
#if defined(DEBUG)
bool Object::InVMHeap() const {
if (FLAG_verify_handles && raw()->IsVMHeapObject()) {
@@ -1878,17 +1854,14 @@ bool Object::InVMHeap() const {
}
#endif // DEBUG
-
void Object::Print() const {
THR_Print("%s\n", ToCString());
}
-
RawString* Object::DictionaryName() const {
return String::null();
}
-
void Object::InitializeObject(uword address,
intptr_t class_id,
intptr_t size,
@@ -1914,7 +1887,6 @@ void Object::InitializeObject(uword address,
ASSERT(is_vm_object == RawObject::IsVMHeapObject(tags));
}
-
void Object::CheckHandle() const {
#if defined(DEBUG)
if (raw_ != Object::null()) {
@@ -1938,7 +1910,6 @@ void Object::CheckHandle() const {
#endif
}
-
RawObject* Object::Allocate(intptr_t cls_id, intptr_t size, Heap::Space space) {
ASSERT(Utils::IsAligned(size, kObjectAlignment));
Thread* thread = Thread::Current();
@@ -1976,7 +1947,6 @@ RawObject* Object::Allocate(intptr_t cls_id, intptr_t size, Heap::Space space) {
return raw_obj;
}
-
class StoreBufferUpdateVisitor : public ObjectPointerVisitor {
public:
explicit StoreBufferUpdateVisitor(Thread* thread, RawObject* obj)
@@ -2005,17 +1975,14 @@ class StoreBufferUpdateVisitor : public ObjectPointerVisitor {
DISALLOW_COPY_AND_ASSIGN(StoreBufferUpdateVisitor);
};
-
bool Object::IsReadOnlyHandle() const {
return Dart::IsReadOnlyHandle(reinterpret_cast<uword>(this));
}
-
bool Object::IsNotTemporaryScopedHandle() const {
return (IsZoneHandle() || IsReadOnlyHandle());
}
-
RawObject* Object::Clone(const Object& orig, Heap::Space space) {
const Class& cls = Class::Handle(orig.clazz());
intptr_t size = orig.raw()->Size();
@@ -2044,17 +2011,14 @@ RawObject* Object::Clone(const Object& orig, Heap::Space space) {
return raw_clone;
}
-
RawString* Class::Name() const {
return raw_ptr()->name_;
}
-
RawString* Class::ScrubbedName() const {
return String::ScrubName(String::Handle(Name()));
}
-
RawString* Class::UserVisibleName() const {
#if !defined(PRODUCT)
ASSERT(raw_ptr()->user_name_ != String::null());
@@ -2063,20 +2027,17 @@ RawString* Class::UserVisibleName() const {
return GenerateUserVisibleName(); // No caching in PRODUCT, regenerate.
}
-
bool Class::IsInFullSnapshot() const {
NoSafepointScope no_safepoint;
return raw_ptr()->library_->ptr()->is_in_fullsnapshot_;
}
-
RawAbstractType* Class::RareType() const {
const Type& type = Type::Handle(Type::New(
*this, Object::null_type_arguments(), TokenPosition::kNoSource));
return ClassFinalizer::FinalizeType(*this, type);
}
-
RawAbstractType* Class::DeclarationType() const {
const TypeArguments& args = TypeArguments::Handle(type_parameters());
const Type& type =
@@ -2084,7 +2045,6 @@ RawAbstractType* Class::DeclarationType() const {
return ClassFinalizer::FinalizeType(*this, type);
}
-
template <class FakeObject>
RawClass* Class::New() {
ASSERT(Object::class_class() != Class::null());
@@ -2121,7 +2081,6 @@ RawClass* Class::New() {
return result.raw();
}
-
static void ReportTooManyTypeArguments(const Class& cls) {
Report::MessageF(Report::kError, Script::Handle(cls.script()),
cls.token_pos(), Report::AtLocation,
@@ -2131,7 +2090,6 @@ static void ReportTooManyTypeArguments(const Class& cls) {
UNREACHABLE();
}
-
void Class::set_num_type_arguments(intptr_t value) const {
if (!Utils::IsInt(16, value)) {
ReportTooManyTypeArguments(*this);
@@ -2139,7 +2097,6 @@ void Class::set_num_type_arguments(intptr_t value) const {
StoreNonPointer(&raw_ptr()->num_type_arguments_, value);
}
-
void Class::set_num_own_type_arguments(intptr_t value) const {
if (!Utils::IsInt(16, value)) {
ReportTooManyTypeArguments(*this);
@@ -2147,7 +2104,6 @@ void Class::set_num_own_type_arguments(intptr_t value) const {
StoreNonPointer(&raw_ptr()->num_own_type_arguments_, value);
}
-
// Initialize class fields of type Array with empty array.
void Class::InitEmptyFields() {
if (Object::empty_array().raw() == Array::null()) {
@@ -2162,7 +2118,6 @@ void Class::InitEmptyFields() {
Object::empty_array().raw());
}
-
RawArray* Class::OffsetToFieldMap(bool original_classes) const {
Array& array = Array::Handle(raw_ptr()->offset_in_words_to_field_);
if (array.IsNull()) {
@@ -2187,7 +2142,6 @@ RawArray* Class::OffsetToFieldMap(bool original_classes) const {
return array.raw();
}
-
bool Class::HasInstanceFields() const {
const Array& field_array = Array::Handle(fields());
Field& field = Field::Handle();
@@ -2200,7 +2154,6 @@ bool Class::HasInstanceFields() const {
return false;
}
-
class FunctionName {
public:
FunctionName(const String& name, String* tmp_string)
@@ -2220,7 +2173,6 @@ class FunctionName {
String* tmp_string_;
};
-
// Traits for looking up Functions by name.
class ClassFunctionsTraits {
public:
@@ -2243,7 +2195,6 @@ class ClassFunctionsTraits {
};
typedef UnorderedHashSet<ClassFunctionsTraits> ClassFunctionsSet;
-
void Class::SetFunctions(const Array& value) const {
ASSERT(Thread::Current()->IsMutatorThread());
ASSERT(!value.IsNull());
@@ -2264,7 +2215,6 @@ void Class::SetFunctions(const Array& value) const {
}
}
-
void Class::AddFunction(const Function& function) const {
ASSERT(Thread::Current()->IsMutatorThread());
const Array& arr = Array::Handle(functions());
@@ -2284,7 +2234,6 @@ void Class::AddFunction(const Function& function) const {
}
}
-
void Class::RemoveFunction(const Function& function) const {
ASSERT(Thread::Current()->IsMutatorThread());
const Array& arr = Array::Handle(functions());
@@ -2299,7 +2248,6 @@ void Class::RemoveFunction(const Function& function) const {
}
}
-
RawFunction* Class::FunctionFromIndex(intptr_t idx) const {
const Array& funcs = Array::Handle(functions());
if ((idx < 0) || (idx >= funcs.Length())) {
@@ -2311,7 +2259,6 @@ RawFunction* Class::FunctionFromIndex(intptr_t idx) const {
return func.raw();
}
-
RawFunction* Class::ImplicitClosureFunctionFromIndex(intptr_t idx) const {
const Array& funcs = Array::Handle(functions());
if ((idx < 0) || (idx >= funcs.Length())) {
@@ -2329,7 +2276,6 @@ RawFunction* Class::ImplicitClosureFunctionFromIndex(intptr_t idx) const {
return closure_func.raw();
}
-
intptr_t Class::FindImplicitClosureFunctionIndex(const Function& needle) const {
Thread* thread = Thread::Current();
if (EnsureIsFinalized(thread) != Error::null()) {
@@ -2358,7 +2304,6 @@ intptr_t Class::FindImplicitClosureFunctionIndex(const Function& needle) const {
return -1;
}
-
intptr_t Class::FindInvocationDispatcherFunctionIndex(
const Function& needle) const {
Thread* thread = Thread::Current();
@@ -2386,7 +2331,6 @@ intptr_t Class::FindInvocationDispatcherFunctionIndex(
return -1;
}
-
RawFunction* Class::InvocationDispatcherFunctionFromIndex(intptr_t idx) const {
Thread* thread = Thread::Current();
REUSABLE_ARRAY_HANDLESCOPE(thread);
@@ -2401,28 +2345,23 @@ RawFunction* Class::InvocationDispatcherFunctionFromIndex(intptr_t idx) const {
return Function::Cast(object).raw();
}
-
void Class::set_signature_function(const Function& value) const {
ASSERT(value.IsClosureFunction() || value.IsSignatureFunction());
StorePointer(&raw_ptr()->signature_function_, value.raw());
}
-
void Class::set_state_bits(intptr_t bits) const {
StoreNonPointer(&raw_ptr()->state_bits_, static_cast<uint16_t>(bits));
}
-
void Class::set_library(const Library& value) const {
StorePointer(&raw_ptr()->library_, value.raw());
}
-
void Class::set_type_parameters(const TypeArguments& value) const {
StorePointer(&raw_ptr()->type_parameters_, value.raw());
}
-
intptr_t Class::NumTypeParameters(Thread* thread) const {
if (IsMixinApplication() && !is_mixin_type_applied()) {
ClassFinalizer::ApplyMixinType(*this);
@@ -2441,7 +2380,6 @@ intptr_t Class::NumTypeParameters(Thread* thread) const {
return type_params.Length();
}
-
intptr_t Class::NumOwnTypeArguments() const {
// Return cached value if already calculated.
if (num_own_type_arguments() != kUnknownNumTypeArguments) {
@@ -2515,7 +2453,6 @@ intptr_t Class::NumOwnTypeArguments() const {
return num_type_params;
}
-
intptr_t Class::NumTypeArguments() const {
// Return cached value if already calculated.
if (num_type_arguments() != kUnknownNumTypeArguments) {
@@ -2552,7 +2489,6 @@ intptr_t Class::NumTypeArguments() const {
return num_type_args;
}
-
RawClass* Class::SuperClass(bool original_classes) const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -2569,14 +2505,12 @@ RawClass* Class::SuperClass(bool original_classes) const {
}
}
-
void Class::set_super_type(const AbstractType& value) const {
ASSERT(value.IsNull() || (value.IsType() && !value.IsDynamicType()) ||
value.IsMixinAppType());
StorePointer(&raw_ptr()->super_type_, value.raw());
}
-
RawTypeParameter* Class::LookupTypeParameter(const String& type_name) const {
ASSERT(!type_name.IsNull());
Thread* thread = Thread::Current();
@@ -2601,7 +2535,6 @@ RawTypeParameter* Class::LookupTypeParameter(const String& type_name) const {
return TypeParameter::null();
}
-
void Class::CalculateFieldOffsets() const {
Array& flds = Array::Handle(fields());
const Class& super = Class::Handle(SuperClass());
@@ -2649,7 +2582,6 @@ void Class::CalculateFieldOffsets() const {
set_next_field_offset(offset);
}
-
RawFunction* Class::GetInvocationDispatcher(const String& target_name,
const Array& args_desc,
RawFunction::Kind kind,
@@ -2695,7 +2627,6 @@ RawFunction* Class::GetInvocationDispatcher(const String& target_name,
return dispatcher.raw();
}
-
RawFunction* Class::CreateInvocationDispatcher(const String& target_name,
const Array& args_desc,
RawFunction::Kind kind) const {
@@ -2754,7 +2685,6 @@ RawFunction* Class::CreateInvocationDispatcher(const String& target_name,
return invocation.raw();
}
-
// Method extractors are used to create implicit closures from methods.
// When an expression obj.M is evaluated for the first time and receiver obj
// does not have a getter called M but has a method called M then an extractor
@@ -2797,7 +2727,6 @@ RawFunction* Function::CreateMethodExtractor(const String& getter_name) const {
return extractor.raw();
}
-
RawFunction* Function::GetMethodExtractor(const String& getter_name) const {
ASSERT(Field::IsGetterName(getter_name));
const Function& closure_function =
@@ -2811,17 +2740,14 @@ RawFunction* Function::GetMethodExtractor(const String& getter_name) const {
return result.raw();
}
-
RawArray* Class::invocation_dispatcher_cache() const {
return raw_ptr()->invocation_dispatcher_cache_;
}
-
void Class::set_invocation_dispatcher_cache(const Array& cache) const {
StorePointer(&raw_ptr()->invocation_dispatcher_cache_, cache.raw());
}
-
void Class::Finalize() const {
ASSERT(Thread::Current()->IsMutatorThread());
ASSERT(!Isolate::Current()->all_classes_finalized());
@@ -2835,7 +2761,6 @@ void Class::Finalize() const {
set_is_finalized();
}
-
class CHACodeArray : public WeakCodeReferences {
public:
explicit CHACodeArray(const Class& cls)
@@ -2869,7 +2794,6 @@ class CHACodeArray : public WeakCodeReferences {
DISALLOW_COPY_AND_ASSIGN(CHACodeArray);
};
-
#if defined(DEBUG)
static bool IsMutatorOrAtSafepoint() {
Thread* thread = Thread::Current();
@@ -2877,7 +2801,6 @@ static bool IsMutatorOrAtSafepoint() {
}
#endif
-
void Class::RegisterCHACode(const Code& code) {
if (FLAG_trace_cha) {
THR_Print("RegisterCHACode '%s' depends on class '%s'\n",
@@ -2890,7 +2813,6 @@ void Class::RegisterCHACode(const Code& code) {
a.Register(code);
}
-
void Class::DisableCHAOptimizedCode(const Class& subclass) {
ASSERT(Thread::Current()->IsMutatorThread());
CHACodeArray a(*this);
@@ -2900,12 +2822,10 @@ void Class::DisableCHAOptimizedCode(const Class& subclass) {
a.DisableCode();
}
-
void Class::DisableAllCHAOptimizedCode() {
DisableCHAOptimizedCode(Class::Handle());
}
-
bool Class::TraceAllocation(Isolate* isolate) const {
#ifndef PRODUCT
ClassTable* class_table = isolate->class_table();
@@ -2915,7 +2835,6 @@ bool Class::TraceAllocation(Isolate* isolate) const {
#endif
}
-
void Class::SetTraceAllocation(bool trace_allocation) const {
#ifndef PRODUCT
Isolate* isolate = Isolate::Current();
@@ -2930,7 +2849,6 @@ void Class::SetTraceAllocation(bool trace_allocation) const {
#endif
}
-
bool Class::ValidatePostFinalizePatch(const Class& orig_class,
Error* error) const {
ASSERT(error != NULL);
@@ -2992,12 +2910,10 @@ bool Class::ValidatePostFinalizePatch(const Class& orig_class,
return true;
}
-
void Class::set_dependent_code(const Array& array) const {
StorePointer(&raw_ptr()->dependent_code_, array.raw());
}
-
// Apply the members from the patch class to the original class.
bool Class::ApplyPatch(const Class& patch, Error* error) const {
ASSERT(error != NULL);
@@ -3111,7 +3027,6 @@ bool Class::ApplyPatch(const Class& patch, Error* error) const {
return true;
}
-
static RawString* BuildClosureSource(const Array& formal_params,
const String& expr) {
const GrowableObjectArray& src_pieces =
@@ -3133,7 +3048,6 @@ static RawString* BuildClosureSource(const Array& formal_params,
return String::ConcatAll(Array::Handle(Array::MakeFixedLength(src_pieces)));
}
-
RawFunction* Function::EvaluateHelper(const Class& cls,
const String& expr,
const Array& param_names,
@@ -3160,7 +3074,6 @@ RawFunction* Function::EvaluateHelper(const Class& cls,
return func.raw();
}
-
RawObject* Class::Evaluate(const String& expr,
const Array& param_names,
const Array& param_values) const {
@@ -3179,7 +3092,6 @@ RawObject* Class::Evaluate(const String& expr,
return result.raw();
}
-
// Ensure that top level parsing of the class has been done.
RawError* Class::EnsureIsFinalized(Thread* thread) const {
// Finalized classes have already been parsed.
@@ -3204,7 +3116,6 @@ RawError* Class::EnsureIsFinalized(Thread* thread) const {
return error.raw();
}
-
void Class::SetFields(const Array& value) const {
ASSERT(!value.IsNull());
#if defined(DEBUG)
@@ -3221,7 +3132,6 @@ void Class::SetFields(const Array& value) const {
StorePointer(&raw_ptr()->fields_, value.raw());
}
-
void Class::AddField(const Field& field) const {
const Array& arr = Array::Handle(fields());
const Array& new_arr = Array::Handle(Array::Grow(arr, arr.Length() + 1));
@@ -3229,7 +3139,6 @@ void Class::AddField(const Field& field) const {
SetFields(new_arr);
}
-
void Class::AddFields(const GrowableArray<const Field*>& new_fields) const {
const intptr_t num_new_fields = new_fields.length();
if (num_new_fields == 0) return;
@@ -3243,7 +3152,6 @@ void Class::AddFields(const GrowableArray<const Field*>& new_fields) const {
SetFields(new_arr);
}
-
void Class::InjectCIDFields() const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -3269,7 +3177,6 @@ void Class::InjectCIDFields() const {
#undef CLASS_LIST_WITH_NULL
}
-
template <class FakeInstance>
RawClass* Class::NewCommon(intptr_t index) {
ASSERT(Object::class_class() != Class::null());
@@ -3296,7 +3203,6 @@ RawClass* Class::NewCommon(intptr_t index) {
return result.raw();
}
-
template <class FakeInstance>
RawClass* Class::New(intptr_t index) {
Class& result = Class::Handle(NewCommon<FakeInstance>(index));
@@ -3304,7 +3210,6 @@ RawClass* Class::New(intptr_t index) {
return result.raw();
}
-
RawClass* Class::New(const Library& lib,
const String& name,
const Script& script,
@@ -3318,12 +3223,10 @@ RawClass* Class::New(const Library& lib,
return result.raw();
}
-
RawClass* Class::NewInstanceClass() {
return Class::New<Instance>(kIllegalCid);
}
-
RawClass* Class::NewNativeWrapper(const Library& library,
const String& name,
int field_count) {
@@ -3351,7 +3254,6 @@ RawClass* Class::NewNativeWrapper(const Library& library,
}
}
-
RawClass* Class::NewStringClass(intptr_t class_id) {
intptr_t instance_size;
if (class_id == kOneByteStringCid) {
@@ -3371,7 +3273,6 @@ RawClass* Class::NewStringClass(intptr_t class_id) {
return result.raw();
}
-
RawClass* Class::NewTypedDataClass(intptr_t class_id) {
ASSERT(RawObject::IsTypedDataClassId(class_id));
intptr_t instance_size = TypedData::InstanceSize();
@@ -3382,7 +3283,6 @@ RawClass* Class::NewTypedDataClass(intptr_t class_id) {
return result.raw();
}
-
RawClass* Class::NewTypedDataViewClass(intptr_t class_id) {
ASSERT(RawObject::IsTypedDataViewClassId(class_id));
Class& result = Class::Handle(New<Instance>(class_id));
@@ -3391,7 +3291,6 @@ RawClass* Class::NewTypedDataViewClass(intptr_t class_id) {
return result.raw();
}
-
RawClass* Class::NewExternalTypedDataClass(intptr_t class_id) {
ASSERT(RawObject::IsExternalTypedDataClassId(class_id));
intptr_t instance_size = ExternalTypedData::InstanceSize();
@@ -3402,7 +3301,6 @@ RawClass* Class::NewExternalTypedDataClass(intptr_t class_id) {
return result.raw();
}
-
void Class::set_name(const String& value) const {
ASSERT(raw_ptr()->name_ == String::null());
ASSERT(value.IsSymbol());
@@ -3418,14 +3316,12 @@ void Class::set_name(const String& value) const {
#endif // !defined(PRODUCT)
}
-
#if !defined(PRODUCT)
void Class::set_user_name(const String& value) const {
StorePointer(&raw_ptr()->user_name_, value.raw());
}
#endif // !defined(PRODUCT)
-
RawString* Class::GenerateUserVisibleName() const {
if (FLAG_show_internal_names) {
return Name();
@@ -3573,18 +3469,15 @@ RawString* Class::GenerateUserVisibleName() const {
return String::ScrubName(name);
}
-
void Class::set_script(const Script& value) const {
StorePointer(&raw_ptr()->script_, value.raw());
}
-
void Class::set_token_pos(TokenPosition token_pos) const {
ASSERT(!token_pos.IsClassifying());
StoreNonPointer(&raw_ptr()->token_pos_, token_pos);
}
-
TokenPosition Class::ComputeEndTokenPos() const {
// Return the begin token for synthetic classes.
if (is_synthesized_class() || IsMixinApplication() || IsTopLevel()) {
@@ -3636,75 +3529,61 @@ TokenPosition Class::ComputeEndTokenPos() const {
return TokenPosition::kNoSource;
}
-
void Class::set_is_implemented() const {
set_state_bits(ImplementedBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_abstract() const {
set_state_bits(AbstractBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_type_finalized() const {
set_state_bits(TypeFinalizedBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_patch() const {
set_state_bits(PatchBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_synthesized_class() const {
set_state_bits(SynthesizedClassBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_enum_class() const {
set_state_bits(EnumBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_const() const {
set_state_bits(ConstBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_mixin_app_alias() const {
set_state_bits(MixinAppAliasBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_mixin_type_applied() const {
set_state_bits(MixinTypeAppliedBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_fields_marked_nullable() const {
set_state_bits(FieldsMarkedNullableBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_cycle_free() const {
ASSERT(!is_cycle_free());
set_state_bits(CycleFreeBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::set_is_allocated(bool value) const {
set_state_bits(IsAllocatedBit::update(value, raw_ptr()->state_bits_));
}
-
void Class::set_is_finalized() const {
ASSERT(!is_finalized());
set_state_bits(
ClassFinalizedBits::update(RawClass::kFinalized, raw_ptr()->state_bits_));
}
-
void Class::SetRefinalizeAfterPatch() const {
ASSERT(!IsTopLevel());
set_state_bits(ClassFinalizedBits::update(RawClass::kRefinalizeAfterPatch,
@@ -3712,7 +3591,6 @@ void Class::SetRefinalizeAfterPatch() const {
set_state_bits(TypeFinalizedBit::update(false, raw_ptr()->state_bits_));
}
-
void Class::ResetFinalization() const {
ASSERT(IsTopLevel() || IsClosureClass());
set_state_bits(
@@ -3720,47 +3598,39 @@ void Class::ResetFinalization() const {
set_state_bits(TypeFinalizedBit::update(false, raw_ptr()->state_bits_));
}
-
void Class::set_is_prefinalized() const {
ASSERT(!is_finalized());
set_state_bits(ClassFinalizedBits::update(RawClass::kPreFinalized,
raw_ptr()->state_bits_));
}
-
void Class::set_is_marked_for_parsing() const {
set_state_bits(MarkedForParsingBit::update(true, raw_ptr()->state_bits_));
}
-
void Class::reset_is_marked_for_parsing() const {
set_state_bits(MarkedForParsingBit::update(false, raw_ptr()->state_bits_));
}
-
void Class::set_interfaces(const Array& value) const {
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->interfaces_, value.raw());
}
-
void Class::set_mixin(const Type& value) const {
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->mixin_, value.raw());
}
-
bool Class::IsMixinApplication() const {
return mixin() != Type::null();
}
-
RawClass* Class::GetPatchClass() const {
const Library& lib = Library::Handle(library());
return lib.GetPatchClass(String::Handle(Name()));
}
-
void Class::AddDirectSubclass(const Class& subclass) const {
ASSERT(!subclass.IsNull());
ASSERT(subclass.SuperClass() == raw());
@@ -3781,12 +3651,10 @@ void Class::AddDirectSubclass(const Class& subclass) const {
direct_subclasses.Add(subclass, Heap::kOld);
}
-
void Class::ClearDirectSubclasses() const {
StorePointer(&raw_ptr()->direct_subclasses_, GrowableObjectArray::null());
}
-
RawArray* Class::constants() const {
return raw_ptr()->constants_;
}
@@ -3796,30 +3664,25 @@ void Class::set_constants(const Array& value) const {
StorePointer(&raw_ptr()->constants_, value.raw());
}
-
RawType* Class::canonical_type() const {
return raw_ptr()->canonical_type_;
}
-
void Class::set_canonical_type(const Type& value) const {
ASSERT(!value.IsNull() && value.IsCanonical() && value.IsOld());
StorePointer(&raw_ptr()->canonical_type_, value.raw());
}
-
RawType* Class::CanonicalType() const {
return raw_ptr()->canonical_type_;
}
-
void Class::SetCanonicalType(const Type& type) const {
ASSERT((canonical_type() == Object::null()) ||
(canonical_type() == type.raw())); // Set during own finalization.
set_canonical_type(type);
}
-
void Class::set_allocation_stub(const Code& value) const {
// Never clear the stub as it may still be a target, but will be GC-d if
// not referenced.
@@ -3828,7 +3691,6 @@ void Class::set_allocation_stub(const Code& value) const {
StorePointer(&raw_ptr()->allocation_stub_, value.raw());
}
-
void Class::DisableAllocationStub() const {
const Code& existing_stub = Code::Handle(allocation_stub());
if (existing_stub.IsNull()) {
@@ -3841,12 +3703,10 @@ void Class::DisableAllocationStub() const {
StorePointer(&raw_ptr()->allocation_stub_, Code::null());
}
-
bool Class::IsDartFunctionClass() const {
return raw() == Type::Handle(Type::DartFunctionType()).type_class();
}
-
// If test_kind == kIsSubtypeOf, checks if type S is a subtype of type T.
// If test_kind == kIsMoreSpecificThan, checks if S is more specific than T.
// Type S is specified by this class parameterized with 'type_arguments', and
@@ -3994,7 +3854,6 @@ bool Class::TypeTestNonRecursive(const Class& cls,
return false;
}
-
// If test_kind == kIsSubtypeOf, checks if type S is a subtype of type T.
// If test_kind == kIsMoreSpecificThan, checks if S is more specific than T.
// Type S is specified by this class parameterized with 'type_arguments', and
@@ -4013,74 +3872,60 @@ bool Class::TypeTest(TypeTestKind test_kind,
space);
}
-
bool Class::IsTopLevel() const {
return Name() == Symbols::TopLevel().raw();
}
-
bool Class::IsPrivate() const {
return Library::IsPrivate(String::Handle(Name()));
}
-
RawFunction* Class::LookupDynamicFunction(const String& name) const {
return LookupFunction(name, kInstance);
}
-
RawFunction* Class::LookupDynamicFunctionAllowAbstract(
const String& name) const {
return LookupFunction(name, kInstanceAllowAbstract);
}
-
RawFunction* Class::LookupDynamicFunctionAllowPrivate(
const String& name) const {
return LookupFunctionAllowPrivate(name, kInstance);
}
-
RawFunction* Class::LookupStaticFunction(const String& name) const {
return LookupFunction(name, kStatic);
}
-
RawFunction* Class::LookupStaticFunctionAllowPrivate(const String& name) const {
return LookupFunctionAllowPrivate(name, kStatic);
}
-
RawFunction* Class::LookupConstructor(const String& name) const {
return LookupFunction(name, kConstructor);
}
-
RawFunction* Class::LookupConstructorAllowPrivate(const String& name) const {
return LookupFunctionAllowPrivate(name, kConstructor);
}
-
RawFunction* Class::LookupFactory(const String& name) const {
return LookupFunction(name, kFactory);
}
-
RawFunction* Class::LookupFactoryAllowPrivate(const String& name) const {
return LookupFunctionAllowPrivate(name, kFactory);
}
-
RawFunction* Class::LookupFunction(const String& name) const {
return LookupFunction(name, kAny);
}
-
RawFunction* Class::LookupFunctionAllowPrivate(const String& name) const {
return LookupFunctionAllowPrivate(name, kAny);
}
-
RawFunction* Class::LookupCallFunctionForTypeTest() const {
// If this class is not compiled yet, it is too early to lookup a call
// function. This case should only occur during bounds checking at compile
@@ -4106,7 +3951,6 @@ RawFunction* Class::LookupCallFunctionForTypeTest() const {
return call_function.raw();
}
-
// Returns true if 'prefix' and 'accessor_name' match 'name'.
static bool MatchesAccessorName(const String& name,
const char* prefix,
@@ -4131,7 +3975,6 @@ static bool MatchesAccessorName(const String& name,
return true;
}
-
RawFunction* Class::CheckFunctionType(const Function& func, MemberKind kind) {
if ((kind == kInstance) || (kind == kInstanceAllowAbstract)) {
if (func.IsDynamicFunction(kind == kInstanceAllowAbstract)) {
@@ -4157,7 +4000,6 @@ RawFunction* Class::CheckFunctionType(const Function& func, MemberKind kind) {
return Function::null();
}
-
RawFunction* Class::LookupFunction(const String& name, MemberKind kind) const {
Thread* thread = Thread::Current();
if (EnsureIsFinalized(thread) != Error::null()) {
@@ -4208,7 +4050,6 @@ RawFunction* Class::LookupFunction(const String& name, MemberKind kind) const {
return Function::null();
}
-
RawFunction* Class::LookupFunctionAllowPrivate(const String& name,
MemberKind kind) const {
Thread* thread = Thread::Current();
@@ -4235,17 +4076,14 @@ RawFunction* Class::LookupFunctionAllowPrivate(const String& name,
return Function::null();
}
-
RawFunction* Class::LookupGetterFunction(const String& name) const {
return LookupAccessorFunction(kGetterPrefix, kGetterPrefixLength, name);
}
-
RawFunction* Class::LookupSetterFunction(const String& name) const {
return LookupAccessorFunction(kSetterPrefix, kSetterPrefixLength, name);
}
-
RawFunction* Class::LookupAccessorFunction(const char* prefix,
intptr_t prefix_length,
const String& name) const {
@@ -4273,22 +4111,18 @@ RawFunction* Class::LookupAccessorFunction(const char* prefix,
return Function::null();
}
-
RawField* Class::LookupInstanceField(const String& name) const {
return LookupField(name, kInstance);
}
-
RawField* Class::LookupStaticField(const String& name) const {
return LookupField(name, kStatic);
}
-
RawField* Class::LookupField(const String& name) const {
return LookupField(name, kAny);
}
-
RawField* Class::LookupField(const String& name, MemberKind kind) const {
Thread* thread = Thread::Current();
if (EnsureIsFinalized(thread) != Error::null()) {
@@ -4335,7 +4169,6 @@ RawField* Class::LookupField(const String& name, MemberKind kind) const {
return Field::null();
}
-
RawField* Class::LookupFieldAllowPrivate(const String& name,
bool instance_only) const {
// Use slow string compare, ignoring privacy name mangling.
@@ -4366,7 +4199,6 @@ RawField* Class::LookupFieldAllowPrivate(const String& name,
return Field::null();
}
-
RawField* Class::LookupInstanceFieldAllowPrivate(const String& name) const {
Field& field = Field::Handle(LookupFieldAllowPrivate(name, true));
if (!field.IsNull() && !field.is_static()) {
@@ -4375,7 +4207,6 @@ RawField* Class::LookupInstanceFieldAllowPrivate(const String& name) const {
return Field::null();
}
-
RawField* Class::LookupStaticFieldAllowPrivate(const String& name) const {
Field& field = Field::Handle(LookupFieldAllowPrivate(name));
if (!field.IsNull() && field.is_static()) {
@@ -4384,7 +4215,6 @@ RawField* Class::LookupStaticFieldAllowPrivate(const String& name) const {
return Field::null();
}
-
RawLibraryPrefix* Class::LookupLibraryPrefix(const String& name) const {
Zone* zone = Thread::Current()->zone();
const Library& lib = Library::Handle(zone, library());
@@ -4395,7 +4225,6 @@ RawLibraryPrefix* Class::LookupLibraryPrefix(const String& name) const {
return LibraryPrefix::null();
}
-
const char* Class::ToCString() const {
const Library& lib = Library::Handle(library());
const char* library_name = lib.IsNull() ? "" : lib.ToCString();
@@ -4405,7 +4234,6 @@ const char* Class::ToCString() const {
patch_prefix, class_name);
}
-
// Returns an instance of Double or Double::null().
// 'index' points to either:
// - constants_list_ position of found element, or
@@ -4433,7 +4261,6 @@ RawDouble* Class::LookupCanonicalDouble(Zone* zone,
return Double::null();
}
-
RawMint* Class::LookupCanonicalMint(Zone* zone,
int64_t value,
intptr_t* index) const {
@@ -4457,7 +4284,6 @@ RawMint* Class::LookupCanonicalMint(Zone* zone,
return Mint::null();
}
-
RawBigint* Class::LookupCanonicalBigint(Zone* zone,
const Bigint& value,
intptr_t* index) const {
@@ -4481,7 +4307,6 @@ RawBigint* Class::LookupCanonicalBigint(Zone* zone,
return Bigint::null();
}
-
class CanonicalInstanceKey {
public:
explicit CanonicalInstanceKey(const Instance& key) : key_(key) {
@@ -4502,7 +4327,6 @@ class CanonicalInstanceKey {
DISALLOW_ALLOCATION();
};
-
// Traits for looking up Canonical Instances based on a hash of the fields.
class CanonicalInstanceTraits {
public:
@@ -4530,7 +4354,6 @@ class CanonicalInstanceTraits {
};
typedef UnorderedHashSet<CanonicalInstanceTraits> CanonicalInstancesSet;
-
RawInstance* Class::LookupCanonicalInstance(Zone* zone,
const Instance& value) const {
ASSERT(this->raw() == value.clazz());
@@ -4544,7 +4367,6 @@ RawInstance* Class::LookupCanonicalInstance(Zone* zone,
return canonical_value.raw();
}
-
RawInstance* Class::InsertCanonicalConstant(Zone* zone,
const Instance& constant) const {
ASSERT(this->raw() == constant.clazz());
@@ -4563,7 +4385,6 @@ RawInstance* Class::InsertCanonicalConstant(Zone* zone,
return canonical_value.raw();
}
-
void Class::InsertCanonicalNumber(Zone* zone,
intptr_t index,
const Number& constant) const {
@@ -4578,7 +4399,6 @@ void Class::InsertCanonicalNumber(Zone* zone,
canonical_list.SetAt(index, constant);
}
-
void Class::RehashConstants(Zone* zone) const {
intptr_t cid = id();
if ((cid == kMintCid) || (cid == kBigintCid) || (cid == kDoubleCid)) {
@@ -4602,7 +4422,6 @@ void Class::RehashConstants(Zone* zone) const {
set.Release();
}
-
RawUnresolvedClass* UnresolvedClass::New(const Object& library_prefix,
const String& ident,
TokenPosition token_pos) {
@@ -4613,7 +4432,6 @@ RawUnresolvedClass* UnresolvedClass::New(const Object& library_prefix,
return type.raw();
}
-
RawUnresolvedClass* UnresolvedClass::New() {
ASSERT(Object::unresolved_class_class() != Class::null());
RawObject* raw = Object::Allocate(
@@ -4621,24 +4439,20 @@ RawUnresolvedClass* UnresolvedClass::New() {
return reinterpret_cast<RawUnresolvedClass*>(raw);
}
-
void UnresolvedClass::set_token_pos(TokenPosition token_pos) const {
ASSERT(!token_pos.IsClassifying());
StoreNonPointer(&raw_ptr()->token_pos_, token_pos);
}
-
void UnresolvedClass::set_ident(const String& ident) const {
StorePointer(&raw_ptr()->ident_, ident.raw());
}
-
void UnresolvedClass::set_library_or_library_prefix(
const Object& library_prefix) const {
StorePointer(&raw_ptr()->library_or_library_prefix_, library_prefix.raw());
}
-
RawString* UnresolvedClass::Name() const {
if (library_or_library_prefix() != Object::null()) {
Thread* thread = Thread::Current();
@@ -4661,13 +4475,11 @@ RawString* UnresolvedClass::Name() const {
}
}
-
const char* UnresolvedClass::ToCString() const {
const char* cname = String::Handle(Name()).ToCString();
return OS::SCreate(Thread::Current()->zone(), "unresolved class '%s'", cname);
}
-
static uint32_t CombineHashes(uint32_t hash, uint32_t other_hash) {
hash += other_hash;
hash += hash << 10;
@@ -4675,7 +4487,6 @@ static uint32_t CombineHashes(uint32_t hash, uint32_t other_hash) {
return hash;
}
-
static uint32_t FinalizeHash(uint32_t hash, intptr_t hashbits) {
hash += hash << 3;
hash ^= hash >> 11; // Logical shift, unsigned hash.
@@ -4687,7 +4498,6 @@ static uint32_t FinalizeHash(uint32_t hash, intptr_t hashbits) {
return (hash == 0) ? 1 : hash;
}
-
intptr_t TypeArguments::ComputeHash() const {
if (IsNull()) return 0;
const intptr_t num_types = Length();
@@ -4705,7 +4515,6 @@ intptr_t TypeArguments::ComputeHash() const {
return result;
}
-
RawString* TypeArguments::SubvectorName(intptr_t from_index,
intptr_t len,
NameVisibility name_visibility) const {
@@ -4731,7 +4540,6 @@ RawString* TypeArguments::SubvectorName(intptr_t from_index,
return Symbols::FromConcatAll(thread, pieces);
}
-
bool TypeArguments::IsSubvectorEquivalent(const TypeArguments& other,
intptr_t from_index,
intptr_t len,
@@ -4758,7 +4566,6 @@ bool TypeArguments::IsSubvectorEquivalent(const TypeArguments& other,
return true;
}
-
bool TypeArguments::IsRecursive() const {
if (IsNull()) return false;
const intptr_t num_types = Length();
@@ -4776,7 +4583,6 @@ bool TypeArguments::IsRecursive() const {
return false;
}
-
bool TypeArguments::IsDynamicTypes(bool raw_instantiated,
intptr_t from_index,
intptr_t len) const {
@@ -4804,7 +4610,6 @@ bool TypeArguments::IsDynamicTypes(bool raw_instantiated,
return true;
}
-
bool TypeArguments::TypeTest(TypeTestKind test_kind,
const TypeArguments& other,
intptr_t from_index,
@@ -4829,14 +4634,12 @@ bool TypeArguments::TypeTest(TypeTestKind test_kind,
return true;
}
-
bool TypeArguments::HasInstantiations() const {
const Array& prior_instantiations = Array::Handle(instantiations());
ASSERT(prior_instantiations.Length() > 0); // Always at least a sentinel.
return prior_instantiations.Length() > 1;
}
-
intptr_t TypeArguments::NumInstantiations() const {
const Array& prior_instantiations = Array::Handle(instantiations());
ASSERT(prior_instantiations.Length() > 0); // Always at least a sentinel.
@@ -4849,18 +4652,15 @@ intptr_t TypeArguments::NumInstantiations() const {
return num;
}
-
RawArray* TypeArguments::instantiations() const {
return raw_ptr()->instantiations_;
}
-
void TypeArguments::set_instantiations(const Array& value) const {
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->instantiations_, value.raw());
}
-
intptr_t TypeArguments::Length() const {
if (IsNull()) {
return 0;
@@ -4868,18 +4668,15 @@ intptr_t TypeArguments::Length() const {
return Smi::Value(raw_ptr()->length_);
}
-
RawAbstractType* TypeArguments::TypeAt(intptr_t index) const {
return *TypeAddr(index);
}
-
void TypeArguments::SetTypeAt(intptr_t index, const AbstractType& value) const {
ASSERT(!IsCanonical());
StorePointer(TypeAddr(index), value.raw());
}
-
bool TypeArguments::IsResolved() const {
if (IsCanonical()) {
return true;
@@ -4895,7 +4692,6 @@ bool TypeArguments::IsResolved() const {
return true;
}
-
bool TypeArguments::IsSubvectorInstantiated(intptr_t from_index,
intptr_t len,
Genericity genericity,
@@ -4919,7 +4715,6 @@ bool TypeArguments::IsSubvectorInstantiated(intptr_t from_index,
return true;
}
-
bool TypeArguments::IsUninstantiatedIdentity() const {
AbstractType& type = AbstractType::Handle();
const intptr_t num_types = Length();
@@ -4955,7 +4750,6 @@ bool TypeArguments::IsUninstantiatedIdentity() const {
// many different type parameters as it is long.
}
-
// Return true if this uninstantiated type argument vector, once instantiated
// at runtime, is a prefix of the type argument vector of its instantiator.
bool TypeArguments::CanShareInstantiatorTypeArguments(
@@ -5024,7 +4818,6 @@ bool TypeArguments::CanShareInstantiatorTypeArguments(
return true;
}
-
bool TypeArguments::IsFinalized() const {
ASSERT(!IsNull());
AbstractType& type = AbstractType::Handle();
@@ -5038,7 +4831,6 @@ bool TypeArguments::IsFinalized() const {
return true;
}
-
bool TypeArguments::IsBounded() const {
AbstractType& type = AbstractType::Handle();
const intptr_t num_types = Length();
@@ -5064,7 +4856,6 @@ bool TypeArguments::IsBounded() const {
return false;
}
-
RawTypeArguments* TypeArguments::InstantiateFrom(
const TypeArguments& instantiator_type_arguments,
const TypeArguments& function_type_arguments,
@@ -5099,7 +4890,6 @@ RawTypeArguments* TypeArguments::InstantiateFrom(
return instantiated_array.raw();
}
-
RawTypeArguments* TypeArguments::InstantiateAndCanonicalizeFrom(
const TypeArguments& instantiator_type_arguments,
const TypeArguments& function_type_arguments,
@@ -5163,7 +4953,6 @@ RawTypeArguments* TypeArguments::InstantiateAndCanonicalizeFrom(
return result.raw();
}
-
RawTypeArguments* TypeArguments::New(intptr_t len, Heap::Space space) {
if (len < 0 || len > kMaxElements) {
// This should be caught before we reach here.
@@ -5186,13 +4975,11 @@ RawTypeArguments* TypeArguments::New(intptr_t len, Heap::Space space) {
return result.raw();
}
-
RawAbstractType* const* TypeArguments::TypeAddr(intptr_t index) const {
ASSERT((index >= 0) && (index < Length()));
return &raw_ptr()->types()[index];
}
-
void TypeArguments::SetLength(intptr_t value) const {
ASSERT(!IsCanonical());
// This is only safe because we create a new Smi, which does not cause
@@ -5200,7 +4987,6 @@ void TypeArguments::SetLength(intptr_t value) const {
StoreSmi(&raw_ptr()->length_, Smi::New(value));
}
-
RawTypeArguments* TypeArguments::CloneUnfinalized() const {
if (IsNull() || IsFinalized()) {
return raw();
@@ -5219,7 +5005,6 @@ RawTypeArguments* TypeArguments::CloneUnfinalized() const {
return clone.raw();
}
-
RawTypeArguments* TypeArguments::CloneUninstantiated(const Class& new_owner,
TrailPtr trail) const {
ASSERT(!IsNull());
@@ -5240,7 +5025,6 @@ RawTypeArguments* TypeArguments::CloneUninstantiated(const Class& new_owner,
return clone.raw();
}
-
RawTypeArguments* TypeArguments::Canonicalize(TrailPtr trail) const {
if (IsNull() || IsCanonical()) {
ASSERT(IsOld());
@@ -5309,7 +5093,6 @@ RawTypeArguments* TypeArguments::Canonicalize(TrailPtr trail) const {
return result.raw();
}
-
RawString* TypeArguments::EnumerateURIs() const {
if (IsNull()) {
return Symbols::Empty().raw();
@@ -5326,7 +5109,6 @@ RawString* TypeArguments::EnumerateURIs() const {
return String::ConcatAll(pieces);
}
-
const char* TypeArguments::ToCString() const {
if (IsNull()) {
return "TypeArguments: null";
@@ -5343,14 +5125,12 @@ const char* TypeArguments::ToCString() const {
return prev_cstr;
}
-
const char* PatchClass::ToCString() const {
const Class& cls = Class::Handle(patched_class());
const char* cls_name = cls.ToCString();
return OS::SCreate(Thread::Current()->zone(), "PatchClass for %s", cls_name);
}
-
RawPatchClass* PatchClass::New(const Class& patched_class,
const Class& origin_class) {
const PatchClass& result = PatchClass::Handle(PatchClass::New());
@@ -5360,7 +5140,6 @@ RawPatchClass* PatchClass::New(const Class& patched_class,
return result.raw();
}
-
RawPatchClass* PatchClass::New(const Class& patched_class,
const Script& script) {
const PatchClass& result = PatchClass::Handle(PatchClass::New());
@@ -5370,7 +5149,6 @@ RawPatchClass* PatchClass::New(const Class& patched_class,
return result.raw();
}
-
RawPatchClass* PatchClass::New() {
ASSERT(Object::patch_class_class() != Class::null());
RawObject* raw = Object::Allocate(PatchClass::kClassId,
@@ -5378,27 +5156,22 @@ RawPatchClass* PatchClass::New() {
return reinterpret_cast<RawPatchClass*>(raw);
}
-
void PatchClass::set_patched_class(const Class& value) const {
StorePointer(&raw_ptr()->patched_class_, value.raw());
}
-
void PatchClass::set_origin_class(const Class& value) const {
StorePointer(&raw_ptr()->origin_class_, value.raw());
}
-
void PatchClass::set_script(const Script& value) const {
StorePointer(&raw_ptr()->script_, value.raw());
}
-
intptr_t Function::Hash() const {
return String::HashRawSymbol(name());
}
-
bool Function::HasBreakpoint() const {
if (!FLAG_support_debugger) {
return false;
@@ -5407,7 +5180,6 @@ bool Function::HasBreakpoint() const {
return thread->isolate()->debugger()->HasBreakpoint(*this, thread->zone());
}
-
void Function::InstallOptimizedCode(const Code& code) const {
DEBUG_ASSERT(IsMutatorOrAtSafepoint());
// We may not have previous code if FLAG_precompile is set.
@@ -5418,19 +5190,16 @@ void Function::InstallOptimizedCode(const Code& code) const {
AttachCode(code);
}
-
void Function::SetInstructions(const Code& value) const {
DEBUG_ASSERT(IsMutatorOrAtSafepoint());
SetInstructionsSafe(value);
}
-
void Function::SetInstructionsSafe(const Code& value) const {
StorePointer(&raw_ptr()->code_, value.raw());
StoreNonPointer(&raw_ptr()->entry_point_, value.UncheckedEntryPoint());
}
-
void Function::AttachCode(const Code& value) const {
DEBUG_ASSERT(IsMutatorOrAtSafepoint());
// Finish setting up code before activating it.
@@ -5440,13 +5209,11 @@ void Function::AttachCode(const Code& value) const {
(value.function() == this->raw()));
}
-
bool Function::HasCode() const {
ASSERT(raw_ptr()->code_ != Code::null());
return raw_ptr()->code_ != StubCode::LazyCompile_entry()->code();
}
-
void Function::ClearCode() const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -5457,7 +5224,6 @@ void Function::ClearCode() const {
#endif
}
-
void Function::EnsureHasCompiledUnoptimizedCode() const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -5470,7 +5236,6 @@ void Function::EnsureHasCompiledUnoptimizedCode() const {
}
}
-
void Function::SwitchToUnoptimizedCode() const {
ASSERT(HasOptimizedCode());
Thread* thread = Thread::Current();
@@ -5495,7 +5260,6 @@ void Function::SwitchToUnoptimizedCode() const {
isolate->TrackDeoptimizedCode(current_code);
}
-
void Function::SwitchToLazyCompiledUnoptimizedCode() const {
if (!HasOptimizedCode()) {
return;
@@ -5523,7 +5287,6 @@ void Function::SwitchToLazyCompiledUnoptimizedCode() const {
unopt_code.Enable();
}
-
void Function::set_unoptimized_code(const Code& value) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -5534,7 +5297,6 @@ void Function::set_unoptimized_code(const Code& value) const {
#endif
}
-
RawContextScope* Function::context_scope() const {
if (IsClosureFunction()) {
const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5544,7 +5306,6 @@ RawContextScope* Function::context_scope() const {
return ContextScope::null();
}
-
void Function::set_context_scope(const ContextScope& value) const {
if (IsClosureFunction()) {
const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5555,7 +5316,6 @@ void Function::set_context_scope(const ContextScope& value) const {
UNREACHABLE();
}
-
RawInstance* Function::implicit_static_closure() const {
if (IsImplicitStaticClosureFunction()) {
const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5565,7 +5325,6 @@ RawInstance* Function::implicit_static_closure() const {
return Instance::null();
}
-
void Function::set_implicit_static_closure(const Instance& closure) const {
if (IsImplicitStaticClosureFunction()) {
const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5576,7 +5335,6 @@ void Function::set_implicit_static_closure(const Instance& closure) const {
UNREACHABLE();
}
-
RawScript* Function::eval_script() const {
const Object& obj = Object::Handle(raw_ptr()->data_);
if (obj.IsScript()) {
@@ -5585,14 +5343,12 @@ RawScript* Function::eval_script() const {
return Script::null();
}
-
void Function::set_eval_script(const Script& script) const {
ASSERT(token_pos() == TokenPosition::kMinSource);
ASSERT(raw_ptr()->data_ == Object::null());
set_data(script);
}
-
RawFunction* Function::extracted_method_closure() const {
ASSERT(kind() == RawFunction::kMethodExtractor);
const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5600,14 +5356,12 @@ RawFunction* Function::extracted_method_closure() const {
return Function::Cast(obj).raw();
}
-
void Function::set_extracted_method_closure(const Function& value) const {
ASSERT(kind() == RawFunction::kMethodExtractor);
ASSERT(raw_ptr()->data_ == Object::null());
set_data(value);
}
-
RawArray* Function::saved_args_desc() const {
ASSERT(kind() == RawFunction::kNoSuchMethodDispatcher ||
kind() == RawFunction::kInvokeFieldDispatcher);
@@ -5616,7 +5370,6 @@ RawArray* Function::saved_args_desc() const {
return Array::Cast(obj).raw();
}
-
void Function::set_saved_args_desc(const Array& value) const {
ASSERT(kind() == RawFunction::kNoSuchMethodDispatcher ||
kind() == RawFunction::kInvokeFieldDispatcher);
@@ -5624,7 +5377,6 @@ void Function::set_saved_args_desc(const Array& value) const {
set_data(value);
}
-
RawField* Function::LookupImplicitGetterSetterField() const {
ASSERT((kind() == RawFunction::kImplicitGetter) ||
(kind() == RawFunction::kImplicitSetter) ||
@@ -5644,7 +5396,6 @@ RawField* Function::LookupImplicitGetterSetterField() const {
return Field::null();
}
-
RawFunction* Function::parent_function() const {
if (IsClosureFunction() || IsSignatureFunction()) {
const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5658,7 +5409,6 @@ RawFunction* Function::parent_function() const {
return Function::null();
}
-
void Function::set_parent_function(const Function& value) const {
const Object& obj = Object::Handle(raw_ptr()->data_);
ASSERT(!obj.IsNull());
@@ -5670,7 +5420,6 @@ void Function::set_parent_function(const Function& value) const {
}
}
-
bool Function::HasGenericParent() const {
if (IsImplicitClosureFunction()) {
// The parent function of an implicit closure function is not the enclosing
@@ -5687,7 +5436,6 @@ bool Function::HasGenericParent() const {
return false;
}
-
RawFunction* Function::implicit_closure_function() const {
if (IsClosureFunction() || IsSignatureFunction() || IsFactory()) {
return Function::null();
@@ -5706,7 +5454,6 @@ RawFunction* Function::implicit_closure_function() const {
return res.IsNull() ? Function::null() : Function::Cast(res).raw();
}
-
void Function::set_implicit_closure_function(const Function& value) const {
ASSERT(!IsClosureFunction() && !IsSignatureFunction());
if (is_native()) {
@@ -5720,7 +5467,6 @@ void Function::set_implicit_closure_function(const Function& value) const {
}
}
-
RawType* Function::ExistingSignatureType() const {
const Object& obj = Object::Handle(raw_ptr()->data_);
ASSERT(!obj.IsNull());
@@ -5732,7 +5478,6 @@ RawType* Function::ExistingSignatureType() const {
}
}
-
RawFunction* Function::CanonicalSignatureFunction(TrailPtr trail) const {
ASSERT(!IsSignatureFunction());
Zone* zone = Thread::Current()->zone();
@@ -5770,7 +5515,6 @@ RawFunction* Function::CanonicalSignatureFunction(TrailPtr trail) const {
return sig_fun.raw();
}
-
RawType* Function::SignatureType() const {
Type& type = Type::Handle(ExistingSignatureType());
if (type.IsNull()) {
@@ -5812,7 +5556,6 @@ RawType* Function::SignatureType() const {
return type.raw();
}
-
void Function::SetSignatureType(const Type& value) const {
const Object& obj = Object::Handle(raw_ptr()->data_);
ASSERT(!obj.IsNull());
@@ -5825,7 +5568,6 @@ void Function::SetSignatureType(const Type& value) const {
}
}
-
bool Function::IsRedirectingFactory() const {
if (!IsFactory() || !is_redirecting()) {
return false;
@@ -5834,7 +5576,6 @@ bool Function::IsRedirectingFactory() const {
return true;
}
-
RawType* Function::RedirectionType() const {
ASSERT(IsRedirectingFactory());
ASSERT(!is_native());
@@ -5843,7 +5584,6 @@ RawType* Function::RedirectionType() const {
return RedirectionData::Cast(obj).type();
}
-
const char* Function::KindToCString(RawFunction::Kind kind) {
switch (kind) {
case RawFunction::kRegularFunction:
@@ -5891,7 +5631,6 @@ const char* Function::KindToCString(RawFunction::Kind kind) {
}
}
-
void Function::SetRedirectionType(const Type& type) const {
ASSERT(IsFactory());
Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5902,7 +5641,6 @@ void Function::SetRedirectionType(const Type& type) const {
RedirectionData::Cast(obj).set_type(type);
}
-
RawString* Function::RedirectionIdentifier() const {
ASSERT(IsRedirectingFactory());
const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5910,7 +5648,6 @@ RawString* Function::RedirectionIdentifier() const {
return RedirectionData::Cast(obj).identifier();
}
-
void Function::SetRedirectionIdentifier(const String& identifier) const {
ASSERT(IsFactory());
Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5921,7 +5658,6 @@ void Function::SetRedirectionIdentifier(const String& identifier) const {
RedirectionData::Cast(obj).set_identifier(identifier);
}
-
RawFunction* Function::RedirectionTarget() const {
ASSERT(IsRedirectingFactory());
const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5929,7 +5665,6 @@ RawFunction* Function::RedirectionTarget() const {
return RedirectionData::Cast(obj).target();
}
-
void Function::SetRedirectionTarget(const Function& target) const {
ASSERT(IsFactory());
Object& obj = Object::Handle(raw_ptr()->data_);
@@ -5940,7 +5675,6 @@ void Function::SetRedirectionTarget(const Function& target) const {
RedirectionData::Cast(obj).set_target(target);
}
-
// This field is heavily overloaded:
// eval function: Script expression source
// signature function: SignatureData
@@ -5958,7 +5692,6 @@ void Function::set_data(const Object& value) const {
StorePointer(&raw_ptr()->data_, value.raw());
}
-
bool Function::IsInFactoryScope() const {
if (!IsLocalFunction()) {
return IsFactory();
@@ -5970,45 +5703,38 @@ bool Function::IsInFactoryScope() const {
return outer_function.IsFactory();
}
-
void Function::set_name(const String& value) const {
ASSERT(value.IsSymbol());
StorePointer(&raw_ptr()->name_, value.raw());
}
-
void Function::set_owner(const Object& value) const {
ASSERT(!value.IsNull() || IsSignatureFunction());
StorePointer(&raw_ptr()->owner_, value.raw());
}
-
RawRegExp* Function::regexp() const {
ASSERT(kind() == RawFunction::kIrregexpFunction);
const Array& pair = Array::Cast(Object::Handle(raw_ptr()->data_));
return RegExp::RawCast(pair.At(0));
}
-
class StickySpecialization : public BitField<intptr_t, bool, 0, 1> {};
class StringSpecializationCid
: public BitField<intptr_t, intptr_t, 1, RawObject::kClassIdTagSize> {};
-
intptr_t Function::string_specialization_cid() const {
ASSERT(kind() == RawFunction::kIrregexpFunction);
const Array& pair = Array::Cast(Object::Handle(raw_ptr()->data_));
return StringSpecializationCid::decode(Smi::Value(Smi::RawCast(pair.At(1))));
}
-
bool Function::is_sticky_specialization() const {
ASSERT(kind() == RawFunction::kIrregexpFunction);
const Array& pair = Array::Cast(Object::Handle(raw_ptr()->data_));
return StickySpecialization::decode(Smi::Value(Smi::RawCast(pair.At(1))));
}
-
void Function::SetRegExpData(const RegExp& regexp,
intptr_t string_specialization_cid,
bool sticky) const {
@@ -6023,7 +5749,6 @@ void Function::SetRegExpData(const RegExp& regexp,
set_data(pair);
}
-
RawString* Function::native_name() const {
ASSERT(is_native());
const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -6031,7 +5756,6 @@ RawString* Function::native_name() const {
return String::RawCast(Array::Cast(obj).At(0));
}
-
void Function::set_native_name(const String& value) const {
ASSERT(is_native());
ASSERT(raw_ptr()->data_ == Object::null());
@@ -6041,7 +5765,6 @@ void Function::set_native_name(const String& value) const {
set_data(pair);
}
-
void Function::set_result_type(const AbstractType& value) const {
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->result_type_, value.raw());
@@ -6054,13 +5777,11 @@ void Function::set_result_type(const AbstractType& value) const {
}
}
-
RawAbstractType* Function::ParameterTypeAt(intptr_t index) const {
const Array& parameter_types = Array::Handle(raw_ptr()->parameter_types_);
return AbstractType::RawCast(parameter_types.At(index));
}
-
void Function::SetParameterTypeAt(intptr_t index,
const AbstractType& value) const {
ASSERT(!value.IsNull());
@@ -6070,35 +5791,29 @@ void Function::SetParameterTypeAt(intptr_t index,
parameter_types.SetAt(index, value);
}
-
void Function::set_parameter_types(const Array& value) const {
StorePointer(&raw_ptr()->parameter_types_, value.raw());
}
-
RawString* Function::ParameterNameAt(intptr_t index) const {
const Array& parameter_names = Array::Handle(raw_ptr()->parameter_names_);
return String::RawCast(parameter_names.At(index));
}
-
void Function::SetParameterNameAt(intptr_t index, const String& value) const {
ASSERT(!value.IsNull() && value.IsSymbol());
const Array& parameter_names = Array::Handle(raw_ptr()->parameter_names_);
parameter_names.SetAt(index, value);
}
-
void Function::set_parameter_names(const Array& value) const {
StorePointer(&raw_ptr()->parameter_names_, value.raw());
}
-
void Function::set_type_parameters(const TypeArguments& value) const {
StorePointer(&raw_ptr()->type_parameters_, value.raw());
}
-
intptr_t Function::NumTypeParameters(Thread* thread) const {
if (type_parameters() == TypeArguments::null()) {
return 0;
@@ -6111,7 +5826,6 @@ intptr_t Function::NumTypeParameters(Thread* thread) const {
return type_params.Length();
}
-
intptr_t Function::NumParentTypeParameters() const {
if (IsImplicitClosureFunction()) {
return 0;
@@ -6126,7 +5840,6 @@ intptr_t Function::NumParentTypeParameters() const {
return num_parent_type_params;
}
-
RawTypeParameter* Function::LookupTypeParameter(
const String& type_name,
intptr_t* function_level) const {
@@ -6167,24 +5880,20 @@ RawTypeParameter* Function::LookupTypeParameter(
return TypeParameter::null();
}
-
void Function::set_kind(RawFunction::Kind value) const {
set_kind_tag(KindBits::update(value, raw_ptr()->kind_tag_));
}
-
void Function::set_modifier(RawFunction::AsyncModifier value) const {
set_kind_tag(ModifierBits::update(value, raw_ptr()->kind_tag_));
}
-
void Function::set_recognized_kind(MethodRecognizer::Kind value) const {
// Prevent multiple settings of kind.
ASSERT((value == MethodRecognizer::kUnknown) || !IsRecognized());
set_kind_tag(RecognizedBits::update(value, raw_ptr()->kind_tag_));
}
-
void Function::set_token_pos(TokenPosition token_pos) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -6194,12 +5903,10 @@ void Function::set_token_pos(TokenPosition token_pos) const {
#endif
}
-
void Function::set_kind_tag(uint32_t value) const {
StoreNonPointer(&raw_ptr()->kind_tag_, static_cast<uint32_t>(value));
}
-
void Function::set_num_fixed_parameters(intptr_t value) const {
ASSERT(value >= 0);
ASSERT(Utils::IsInt(16, value));
@@ -6207,7 +5914,6 @@ void Function::set_num_fixed_parameters(intptr_t value) const {
static_cast<int16_t>(value));
}
-
void Function::set_num_optional_parameters(intptr_t value) const {
// A positive value indicates positional params, a negative one named params.
ASSERT(Utils::IsInt(16, value));
@@ -6215,7 +5921,6 @@ void Function::set_num_optional_parameters(intptr_t value) const {
static_cast<int16_t>(value));
}
-
void Function::SetNumOptionalParameters(intptr_t num_optional_parameters,
bool are_optional_positional) const {
ASSERT(num_optional_parameters >= 0);
@@ -6224,7 +5929,6 @@ void Function::SetNumOptionalParameters(intptr_t num_optional_parameters,
: -num_optional_parameters);
}
-
bool Function::IsOptimizable() const {
if (FLAG_precompiled_mode) {
return true;
@@ -6244,7 +5948,6 @@ bool Function::IsOptimizable() const {
return false;
}
-
void Function::SetIsOptimizable(bool value) const {
ASSERT(!is_native());
set_is_optimizable(value);
@@ -6254,7 +5957,6 @@ void Function::SetIsOptimizable(bool value) const {
}
}
-
bool Function::CanBeInlined() const {
Thread* thread = Thread::Current();
return is_inlinable() && !is_external() && !is_generated_body() &&
@@ -6262,12 +5964,10 @@ bool Function::CanBeInlined() const {
!thread->isolate()->debugger()->HasBreakpoint(*this, thread->zone()));
}
-
intptr_t Function::NumParameters() const {
return num_fixed_parameters() + NumOptionalParameters();
}
-
intptr_t Function::NumImplicitParameters() const {
if (kind() == RawFunction::kConstructor) {
// Type arguments for factory; instance for generative constructor.
@@ -6288,7 +5988,6 @@ intptr_t Function::NumImplicitParameters() const {
return 0; // No implicit parameters.
}
-
bool Function::AreValidArgumentCounts(intptr_t num_type_arguments,
intptr_t num_arguments,
intptr_t num_named_arguments,
@@ -6362,7 +6061,6 @@ bool Function::AreValidArgumentCounts(intptr_t num_type_arguments,
return true;
}
-
bool Function::AreValidArguments(intptr_t num_type_arguments,
intptr_t num_arguments,
const Array& argument_names,
@@ -6408,7 +6106,6 @@ bool Function::AreValidArguments(intptr_t num_type_arguments,
return true;
}
-
bool Function::AreValidArguments(const ArgumentsDescriptor& args_desc,
String* error_message) const {
const intptr_t num_type_arguments = args_desc.TypeArgsLen();
@@ -6454,7 +6151,6 @@ bool Function::AreValidArguments(const ArgumentsDescriptor& args_desc,
return true;
}
-
// Helper allocating a C string buffer in the zone, printing the fully qualified
// name of a function in it, and replacing ':' by '_' to make sure the
// constructed name is a valid C++ identifier for debugging purpose.
@@ -6465,7 +6161,6 @@ enum QualifiedFunctionLibKind {
kQualifiedFunctionLibKindLibName
};
-
static intptr_t ConstructFunctionFullyQualifiedCString(
const Function& function,
char** chars,
@@ -6525,7 +6220,6 @@ static intptr_t ConstructFunctionFullyQualifiedCString(
return written;
}
-
const char* Function::ToFullyQualifiedCString() const {
char* chars = NULL;
ConstructFunctionFullyQualifiedCString(*this, &chars, 0, true,
@@ -6533,7 +6227,6 @@ const char* Function::ToFullyQualifiedCString() const {
return chars;
}
-
const char* Function::ToLibNamePrefixedQualifiedCString() const {
char* chars = NULL;
ConstructFunctionFullyQualifiedCString(*this, &chars, 0, true,
@@ -6541,7 +6234,6 @@ const char* Function::ToLibNamePrefixedQualifiedCString() const {
return chars;
}
-
const char* Function::ToQualifiedCString() const {
char* chars = NULL;
ConstructFunctionFullyQualifiedCString(*this, &chars, 0, false,
@@ -6549,7 +6241,6 @@ const char* Function::ToQualifiedCString() const {
return chars;
}
-
bool Function::HasCompatibleParametersWith(const Function& other,
Error* bound_error) const {
ASSERT(Isolate::Current()->error_on_bad_override());
@@ -6596,7 +6287,6 @@ bool Function::HasCompatibleParametersWith(const Function& other,
return true;
}
-
RawFunction* Function::InstantiateSignatureFrom(
const TypeArguments& instantiator_type_arguments,
const TypeArguments& function_type_arguments,
@@ -6634,7 +6324,6 @@ RawFunction* Function::InstantiateSignatureFrom(
return sig.raw();
}
-
// If test_kind == kIsSubtypeOf, checks if the type of the specified parameter
// of this function is a subtype or a supertype of the type of the specified
// parameter of the other function.
@@ -6677,7 +6366,6 @@ bool Function::TestParameterType(TypeTestKind test_kind,
return true;
}
-
bool Function::HasSameTypeParametersAndBounds(const Function& other) const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -6711,7 +6399,6 @@ bool Function::HasSameTypeParametersAndBounds(const Function& other) const {
return true;
}
-
bool Function::TypeTest(TypeTestKind test_kind,
const Function& other,
Error* bound_error,
@@ -6816,7 +6503,6 @@ bool Function::TypeTest(TypeTestKind test_kind,
return true;
}
-
// The compiler generates an implicit constructor if a class definition
// does not contain an explicit constructor or factory. The implicit
// constructor has the same token position as the owner class.
@@ -6824,7 +6510,6 @@ bool Function::IsImplicitConstructor() const {
return IsGenerativeConstructor() && (token_pos() == end_token_pos());
}
-
bool Function::IsImplicitClosureFunction() const {
if (!IsClosureFunction()) {
return false;
@@ -6833,7 +6518,6 @@ bool Function::IsImplicitClosureFunction() const {
return (parent.implicit_closure_function() == raw());
}
-
bool Function::IsImplicitStaticClosureFunction(RawFunction* func) {
NoSafepointScope no_safepoint;
uint32_t kind_tag = func->ptr()->kind_tag_;
@@ -6848,13 +6532,11 @@ bool Function::IsImplicitStaticClosureFunction(RawFunction* func) {
return (parent_function->ptr()->data_ == reinterpret_cast<RawObject*>(func));
}
-
bool Function::IsConstructorClosureFunction() const {
return IsClosureFunction() &&
String::Handle(name()).StartsWith(Symbols::ConstructorClosurePrefix());
}
-
RawFunction* Function::New(Heap::Space space) {
ASSERT(Object::function_class() != Class::null());
RawObject* raw =
@@ -6862,7 +6544,6 @@ RawFunction* Function::New(Heap::Space space) {
return reinterpret_cast<RawFunction*>(raw);
}
-
RawFunction* Function::New(const String& name,
RawFunction::Kind kind,
bool is_static,
@@ -6927,7 +6608,6 @@ RawFunction* Function::New(const String& name,
return result.raw();
}
-
RawFunction* Function::Clone(const Class& new_owner) const {
ASSERT(!IsGenerativeConstructor());
Thread* thread = Thread::Current();
@@ -6977,7 +6657,6 @@ RawFunction* Function::Clone(const Class& new_owner) const {
return clone.raw();
}
-
RawFunction* Function::NewClosureFunction(const String& name,
const Function& parent,
TokenPosition token_pos) {
@@ -6996,7 +6675,6 @@ RawFunction* Function::NewClosureFunction(const String& name,
return result.raw();
}
-
RawFunction* Function::NewSignatureFunction(const Object& owner,
const Function& parent,
TokenPosition token_pos,
@@ -7017,7 +6695,6 @@ RawFunction* Function::NewSignatureFunction(const Object& owner,
return result.raw();
}
-
RawFunction* Function::NewEvalFunction(const Class& owner,
const Script& script,
bool is_static) {
@@ -7114,7 +6791,6 @@ RawFunction* Function::ImplicitClosureFunction() const {
return closure_function.raw();
}
-
void Function::DropUncompiledImplicitClosureFunction() const {
if (implicit_closure_function() != Function::null()) {
const Function& func = Function::Handle(implicit_closure_function());
@@ -7124,7 +6800,6 @@ void Function::DropUncompiledImplicitClosureFunction() const {
}
}
-
RawString* Function::UserVisibleFormalParameters() const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -7135,7 +6810,6 @@ RawString* Function::UserVisibleFormalParameters() const {
return Symbols::FromConcatAll(thread, pieces);
}
-
void Function::BuildSignatureParameters(
Thread* thread,
Zone* zone,
@@ -7194,7 +6868,6 @@ void Function::BuildSignatureParameters(
}
}
-
RawInstance* Function::ImplicitStaticClosure() const {
if (implicit_static_closure() == Instance::null()) {
Zone* zone = Thread::Current()->zone();
@@ -7212,7 +6885,6 @@ RawInstance* Function::ImplicitStaticClosure() const {
return implicit_static_closure();
}
-
RawInstance* Function::ImplicitInstanceClosure(const Instance& receiver) const {
ASSERT(IsImplicitClosureFunction());
Zone* zone = Thread::Current()->zone();
@@ -7230,7 +6902,6 @@ RawInstance* Function::ImplicitInstanceClosure(const Instance& receiver) const {
*this, context);
}
-
RawSmi* Function::GetClosureHashCode() const {
ASSERT(IsClosureFunction());
const Object& obj = Object::Handle(raw_ptr()->data_);
@@ -7252,7 +6923,6 @@ RawSmi* Function::GetClosureHashCode() const {
return Smi::New(result);
}
-
RawString* Function::BuildSignature(NameVisibility name_visibility) const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -7293,7 +6963,6 @@ RawString* Function::BuildSignature(NameVisibility name_visibility) const {
return Symbols::FromConcatAll(thread, pieces);
}
-
bool Function::HasInstantiatedSignature(Genericity genericity,
intptr_t num_free_fun_type_params,
TrailPtr trail) const {
@@ -7319,7 +6988,6 @@ bool Function::HasInstantiatedSignature(Genericity genericity,
return true;
}
-
RawClass* Function::Owner() const {
if (raw_ptr()->owner_ == Object::null()) {
ASSERT(IsSignatureFunction());
@@ -7333,7 +7001,6 @@ RawClass* Function::Owner() const {
return PatchClass::Cast(obj).patched_class();
}
-
RawClass* Function::origin() const {
if (raw_ptr()->owner_ == Object::null()) {
ASSERT(IsSignatureFunction());
@@ -7347,7 +7014,6 @@ RawClass* Function::origin() const {
return PatchClass::Cast(obj).origin_class();
}
-
RawScript* Function::script() const {
// NOTE(turnidge): If you update this function, you probably want to
// update Class::PatchFieldsAndFunctions() at the same time.
@@ -7374,12 +7040,10 @@ RawScript* Function::script() const {
return PatchClass::Cast(obj).script();
}
-
bool Function::HasOptimizedCode() const {
return HasCode() && Code::Handle(CurrentCode()).is_optimized();
}
-
RawString* Function::UserVisibleName() const {
if (FLAG_show_internal_names) {
return name();
@@ -7387,7 +7051,6 @@ RawString* Function::UserVisibleName() const {
return String::ScrubName(String::Handle(name()));
}
-
RawString* Function::QualifiedName(NameVisibility name_visibility) const {
ASSERT(name_visibility != kInternalName); // We never request it.
// If |this| is the generated asynchronous body closure, use the
@@ -7436,7 +7099,6 @@ RawString* Function::QualifiedName(NameVisibility name_visibility) const {
return result.raw();
}
-
RawString* Function::GetSource() const {
if (IsImplicitConstructor() || IsSignatureFunction()) {
// We may need to handle more cases when the restrictions on mixins are
@@ -7481,7 +7143,6 @@ RawString* Function::GetSource() const {
return result.raw();
}
-
// Construct fingerprint from token stream. The token stream contains also
// arguments.
int32_t Function::SourceFingerprint() const {
@@ -7489,7 +7150,6 @@ int32_t Function::SourceFingerprint() const {
end_token_pos());
}
-
void Function::SaveICDataMap(
const ZoneGrowableArray<const ICData*>& deopt_id_to_ic_data,
const Array& edge_counters_array) const {
@@ -7513,7 +7173,6 @@ void Function::SaveICDataMap(
set_ic_data_array(array);
}
-
void Function::RestoreICDataMap(
ZoneGrowableArray<const ICData*>* deopt_id_to_ic_data,
bool clone_ic_data) const {
@@ -7551,22 +7210,18 @@ void Function::RestoreICDataMap(
}
}
-
void Function::set_ic_data_array(const Array& value) const {
StorePointer(&raw_ptr()->ic_data_array_, value.raw());
}
-
RawArray* Function::ic_data_array() const {
return raw_ptr()->ic_data_array_;
}
-
void Function::ClearICDataArray() const {
set_ic_data_array(Array::null_array());
}
-
void Function::SetDeoptReasonForAll(intptr_t deopt_id,
ICData::DeoptReasonId reason) {
const Array& array = Array::Handle(ic_data_array());
@@ -7579,7 +7234,6 @@ void Function::SetDeoptReasonForAll(intptr_t deopt_id,
}
}
-
bool Function::CheckSourceFingerprint(const char* prefix, int32_t fp) const {
if ((kernel_offset() <= 0) && (SourceFingerprint() != fp)) {
const bool recalculatingFingerprints = false;
@@ -7599,7 +7253,6 @@ bool Function::CheckSourceFingerprint(const char* prefix, int32_t fp) const {
return true;
}
-
RawCode* Function::EnsureHasCode() const {
if (HasCode()) return CurrentCode();
Thread* thread = Thread::Current();
@@ -7616,7 +7269,6 @@ RawCode* Function::EnsureHasCode() const {
return CurrentCode();
}
-
const char* Function::ToCString() const {
if (IsNull()) {
return "Function: null";
@@ -7668,34 +7320,28 @@ const char* Function::ToCString() const {
const_str);
}
-
void ClosureData::set_context_scope(const ContextScope& value) const {
StorePointer(&raw_ptr()->context_scope_, value.raw());
}
-
void ClosureData::set_implicit_static_closure(const Instance& closure) const {
ASSERT(!closure.IsNull());
ASSERT(raw_ptr()->closure_ == Instance::null());
StorePointer(&raw_ptr()->closure_, closure.raw());
}
-
void ClosureData::set_hash(intptr_t value) const {
StorePointer(&raw_ptr()->hash_, static_cast<RawObject*>(Smi::New(value)));
}
-
void ClosureData::set_parent_function(const Function& value) const {
StorePointer(&raw_ptr()->parent_function_, value.raw());
}
-
void ClosureData::set_signature_type(const Type& value) const {
StorePointer(&raw_ptr()->signature_type_, value.raw());
}
-
RawClosureData* ClosureData::New() {
ASSERT(Object::closure_data_class() != Class::null());
RawObject* raw = Object::Allocate(ClosureData::kClassId,
@@ -7703,7 +7349,6 @@ RawClosureData* ClosureData::New() {
return reinterpret_cast<RawClosureData*>(raw);
}
-
const char* ClosureData::ToCString() const {
if (IsNull()) {
return "ClosureData: null";
@@ -7720,17 +7365,14 @@ const char* ClosureData::ToCString() const {
reinterpret_cast<uword>(implicit_static_closure()));
}
-
void SignatureData::set_parent_function(const Function& value) const {
StorePointer(&raw_ptr()->parent_function_, value.raw());
}
-
void SignatureData::set_signature_type(const Type& value) const {
StorePointer(&raw_ptr()->signature_type_, value.raw());
}
-
RawSignatureData* SignatureData::New(Heap::Space space) {
ASSERT(Object::signature_data_class() != Class::null());
RawObject* raw = Object::Allocate(SignatureData::kClassId,
@@ -7738,7 +7380,6 @@ RawSignatureData* SignatureData::New(Heap::Space space) {
return reinterpret_cast<RawSignatureData*>(raw);
}
-
const char* SignatureData::ToCString() const {
if (IsNull()) {
return "SignatureData: null";
@@ -7751,23 +7392,19 @@ const char* SignatureData::ToCString() const {
type.IsNull() ? "null" : type.ToCString());
}
-
void RedirectionData::set_type(const Type& value) const {
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->type_, value.raw());
}
-
void RedirectionData::set_identifier(const String& value) const {
StorePointer(&raw_ptr()->identifier_, value.raw());
}
-
void RedirectionData::set_target(const Function& value) const {
StorePointer(&raw_ptr()->target_, value.raw());
}
-
RawRedirectionData* RedirectionData::New() {
ASSERT(Object::redirection_data_class() != Class::null());
RawObject* raw = Object::Allocate(
@@ -7775,7 +7412,6 @@ RawRedirectionData* RedirectionData::New() {
return reinterpret_cast<RawRedirectionData*>(raw);
}
-
const char* RedirectionData::ToCString() const {
if (IsNull()) {
return "RedirectionData: null";
@@ -7790,12 +7426,10 @@ const char* RedirectionData::ToCString() const {
target_fun.IsNull() ? "null" : target_fun.ToCString());
}
-
RawField* Field::CloneFromOriginal() const {
return this->Clone(*this);
}
-
RawField* Field::Original() const {
if (IsNull()) {
return Field::null();
@@ -7808,73 +7442,60 @@ RawField* Field::Original() const {
}
}
-
void Field::SetOriginal(const Field& value) const {
ASSERT(value.IsOriginal());
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->owner_, reinterpret_cast<RawObject*>(value.raw()));
}
-
RawString* Field::GetterName(const String& field_name) {
return String::Concat(Symbols::GetterPrefix(), field_name);
}
-
RawString* Field::GetterSymbol(const String& field_name) {
return Symbols::FromGet(Thread::Current(), field_name);
}
-
RawString* Field::LookupGetterSymbol(const String& field_name) {
return Symbols::LookupFromGet(Thread::Current(), field_name);
}
-
RawString* Field::SetterName(const String& field_name) {
return String::Concat(Symbols::SetterPrefix(), field_name);
}
-
RawString* Field::SetterSymbol(const String& field_name) {
return Symbols::FromSet(Thread::Current(), field_name);
}
-
RawString* Field::LookupSetterSymbol(const String& field_name) {
return Symbols::LookupFromSet(Thread::Current(), field_name);
}
-
RawString* Field::NameFromGetter(const String& getter_name) {
return Symbols::New(Thread::Current(), getter_name, kGetterPrefixLength,
getter_name.Length() - kGetterPrefixLength);
}
-
RawString* Field::NameFromSetter(const String& setter_name) {
return Symbols::New(Thread::Current(), setter_name, kSetterPrefixLength,
setter_name.Length() - kSetterPrefixLength);
}
-
bool Field::IsGetterName(const String& function_name) {
return function_name.StartsWith(Symbols::GetterPrefix());
}
-
bool Field::IsSetterName(const String& function_name) {
return function_name.StartsWith(Symbols::SetterPrefix());
}
-
void Field::set_name(const String& value) const {
ASSERT(value.IsSymbol());
ASSERT(IsOriginal());
StorePointer(&raw_ptr()->name_, value.raw());
}
-
RawObject* Field::RawOwner() const {
if (IsOriginal()) {
return raw_ptr()->owner_;
@@ -7886,7 +7507,6 @@ RawObject* Field::RawOwner() const {
}
}
-
RawClass* Field::Owner() const {
const Field& field = Field::Handle(Original());
ASSERT(field.IsOriginal());
@@ -7898,7 +7518,6 @@ RawClass* Field::Owner() const {
return PatchClass::Cast(obj).patched_class();
}
-
RawClass* Field::Origin() const {
const Field& field = Field::Handle(Original());
ASSERT(field.IsOriginal());
@@ -7910,7 +7529,6 @@ RawClass* Field::Origin() const {
return PatchClass::Cast(obj).origin_class();
}
-
RawScript* Field::Script() const {
// NOTE(turnidge): If you update this function, you probably want to
// update Class::PatchFieldsAndFunctions() at the same time.
@@ -7924,7 +7542,6 @@ RawScript* Field::Script() const {
return PatchClass::Cast(obj).script();
}
-
// Called at finalization time
void Field::SetFieldType(const AbstractType& value) const {
ASSERT(Thread::Current()->IsMutatorThread());
@@ -7935,7 +7552,6 @@ void Field::SetFieldType(const AbstractType& value) const {
}
}
-
RawField* Field::New() {
ASSERT(Object::field_class() != Class::null());
RawObject* raw =
@@ -7943,7 +7559,6 @@ RawField* Field::New() {
return reinterpret_cast<RawField*>(raw);
}
-
void Field::InitializeNew(const Field& result,
const String& name,
bool is_static,
@@ -7985,7 +7600,6 @@ void Field::InitializeNew(const Field& result,
}
}
-
RawField* Field::New(const String& name,
bool is_static,
bool is_final,
@@ -8002,7 +7616,6 @@ RawField* Field::New(const String& name,
return result.raw();
}
-
RawField* Field::NewTopLevel(const String& name,
bool is_final,
bool is_const,
@@ -8016,7 +7629,6 @@ RawField* Field::NewTopLevel(const String& name,
return result.raw();
}
-
RawField* Field::Clone(const Class& new_owner) const {
Field& clone = Field::Handle();
clone ^= Object::Clone(*this, Heap::kOld);
@@ -8036,7 +7648,6 @@ RawField* Field::Clone(const Class& new_owner) const {
return clone.raw();
}
-
RawField* Field::Clone(const Field& original) const {
if (original.IsNull()) {
return Field::null();
@@ -8049,7 +7660,6 @@ RawField* Field::Clone(const Field& original) const {
return clone.raw();
}
-
RawString* Field::InitializingExpression() const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -8079,7 +7689,6 @@ RawString* Field::InitializingExpression() const {
return scr.GetSnippet(start_of_expression, end_of_expression);
}
-
RawString* Field::UserVisibleName() const {
if (FLAG_show_internal_names) {
return name();
@@ -8087,24 +7696,20 @@ RawString* Field::UserVisibleName() const {
return String::ScrubName(String::Handle(name()));
}
-
intptr_t Field::guarded_list_length() const {
return Smi::Value(raw_ptr()->guarded_list_length_);
}
-
void Field::set_guarded_list_length(intptr_t list_length) const {
ASSERT(Thread::Current()->IsMutatorThread());
ASSERT(IsOriginal());
StoreSmi(&raw_ptr()->guarded_list_length_, Smi::New(list_length));
}
-
intptr_t Field::guarded_list_length_in_object_offset() const {
return raw_ptr()->guarded_list_length_in_object_offset_ + kHeapObjectTag;
}
-
void Field::set_guarded_list_length_in_object_offset(
intptr_t list_length_offset) const {
ASSERT(Thread::Current()->IsMutatorThread());
@@ -8114,7 +7719,6 @@ void Field::set_guarded_list_length_in_object_offset(
ASSERT(guarded_list_length_in_object_offset() == list_length_offset);
}
-
const char* Field::ToCString() const {
if (IsNull()) {
return "Field: null";
@@ -8129,7 +7733,6 @@ const char* Field::ToCString() const {
cls_name, field_name, kF0, kF1, kF2);
}
-
// Build a closure object that gets (or sets) the contents of a static
// field f and cache the closure in a newly created static field
// named #f (or #f= in case of a setter).
@@ -8188,28 +7791,23 @@ RawInstance* Field::AccessorClosure(bool make_setter) const {
return Instance::RawCast(result.raw());
}
-
RawInstance* Field::GetterClosure() const {
return AccessorClosure(false);
}
-
RawInstance* Field::SetterClosure() const {
return AccessorClosure(true);
}
-
RawArray* Field::dependent_code() const {
return raw_ptr()->dependent_code_;
}
-
void Field::set_dependent_code(const Array& array) const {
ASSERT(IsOriginal());
StorePointer(&raw_ptr()->dependent_code_, array.raw());
}
-
class FieldDependentArray : public WeakCodeReferences {
public:
explicit FieldDependentArray(const Field& field)
@@ -8243,7 +7841,6 @@ class FieldDependentArray : public WeakCodeReferences {
DISALLOW_COPY_AND_ASSIGN(FieldDependentArray);
};
-
void Field::RegisterDependentCode(const Code& code) const {
ASSERT(IsOriginal());
DEBUG_ASSERT(IsMutatorOrAtSafepoint());
@@ -8252,7 +7849,6 @@ void Field::RegisterDependentCode(const Code& code) const {
a.Register(code);
}
-
void Field::DeoptimizeDependentCode() const {
ASSERT(Thread::Current()->IsMutatorThread());
ASSERT(IsOriginal());
@@ -8260,7 +7856,6 @@ void Field::DeoptimizeDependentCode() const {
a.DisableCode();
}
-
bool Field::IsConsistentWith(const Field& other) const {
return (raw_ptr()->guarded_cid_ == other.raw_ptr()->guarded_cid_) &&
(raw_ptr()->is_nullable_ == other.raw_ptr()->is_nullable_) &&
@@ -8269,33 +7864,28 @@ bool Field::IsConsistentWith(const Field& other) const {
(is_unboxing_candidate() == other.is_unboxing_candidate());
}
-
bool Field::IsUninitialized() const {
const Instance& value = Instance::Handle(raw_ptr()->value_.static_value_);
ASSERT(value.raw() != Object::transition_sentinel().raw());
return value.raw() == Object::sentinel().raw();
}
-
void Field::SetPrecompiledInitializer(const Function& initializer) const {
ASSERT(IsOriginal());
StorePointer(&raw_ptr()->initializer_.precompiled_, initializer.raw());
}
-
bool Field::HasPrecompiledInitializer() const {
return raw_ptr()->initializer_.precompiled_->IsHeapObject() &&
raw_ptr()->initializer_.precompiled_->IsFunction();
}
-
void Field::SetSavedInitialStaticValue(const Instance& value) const {
ASSERT(IsOriginal());
ASSERT(!HasPrecompiledInitializer());
StorePointer(&raw_ptr()->initializer_.saved_value_, value.raw());
}
-
void Field::EvaluateInitializer() const {
ASSERT(IsOriginal());
ASSERT(is_static());
@@ -8323,7 +7913,6 @@ void Field::EvaluateInitializer() const {
UNREACHABLE();
}
-
static intptr_t GetListLength(const Object& value) {
if (value.IsTypedData()) {
const TypedData& list = TypedData::Cast(value);
@@ -8344,7 +7933,6 @@ static intptr_t GetListLength(const Object& value) {
return Field::kNoFixedLength;
}
-
static intptr_t GetListLengthOffset(intptr_t cid) {
if (RawObject::IsTypedDataClassId(cid)) {
return TypedData::length_offset();
@@ -8363,7 +7951,6 @@ static intptr_t GetListLengthOffset(intptr_t cid) {
return Field::kUnknownLengthOffset;
}
-
const char* Field::GuardedPropertiesAsCString() const {
if (guarded_cid() == kIllegalCid) {
return "<?>";
@@ -8391,7 +7978,6 @@ const char* Field::GuardedPropertiesAsCString() const {
"<%s %s>", is_nullable() ? "nullable" : "not-nullable", class_name);
}
-
bool Field::IsExternalizableCid(intptr_t cid) {
if (FLAG_support_externalizable_strings) {
return (cid == kOneByteStringCid) || (cid == kTwoByteStringCid);
@@ -8400,7 +7986,6 @@ bool Field::IsExternalizableCid(intptr_t cid) {
}
}
-
void Field::InitializeGuardedListLengthInObjectOffset() const {
ASSERT(IsOriginal());
if (needs_length_check() &&
@@ -8413,7 +7998,6 @@ void Field::InitializeGuardedListLengthInObjectOffset() const {
}
}
-
bool Field::UpdateGuardedCidAndLength(const Object& value) const {
ASSERT(IsOriginal());
const intptr_t cid = value.GetClassId();
@@ -8481,7 +8065,6 @@ bool Field::UpdateGuardedCidAndLength(const Object& value) const {
return true;
}
-
void Field::RecordStore(const Object& value) const {
ASSERT(IsOriginal());
if (!Isolate::Current()->use_field_guards()) {
@@ -8502,7 +8085,6 @@ void Field::RecordStore(const Object& value) const {
}
}
-
void Field::ForceDynamicGuardedCidAndLength() const {
// Assume nothing about this field.
set_is_unboxing_candidate(false);
@@ -8514,17 +8096,14 @@ void Field::ForceDynamicGuardedCidAndLength() const {
DeoptimizeDependentCode();
}
-
void LiteralToken::set_literal(const String& literal) const {
StorePointer(&raw_ptr()->literal_, literal.raw());
}
-
void LiteralToken::set_value(const Object& value) const {
StorePointer(&raw_ptr()->value_, value.raw());
}
-
RawLiteralToken* LiteralToken::New() {
ASSERT(Object::literal_token_class() != Class::null());
RawObject* raw = Object::Allocate(LiteralToken::kClassId,
@@ -8532,7 +8111,6 @@ RawLiteralToken* LiteralToken::New() {
return reinterpret_cast<RawLiteralToken*>(raw);
}
-
RawLiteralToken* LiteralToken::New(Token::Kind kind, const String& literal) {
const LiteralToken& result = LiteralToken::Handle(LiteralToken::New());
result.set_kind(kind);
@@ -8551,33 +8129,27 @@ RawLiteralToken* LiteralToken::New(Token::Kind kind, const String& literal) {
return result.raw();
}
-
const char* LiteralToken::ToCString() const {
const String& token = String::Handle(literal());
return token.ToCString();
}
-
RawGrowableObjectArray* TokenStream::TokenObjects() const {
return raw_ptr()->token_objects_;
}
-
void TokenStream::SetTokenObjects(const GrowableObjectArray& value) const {
StorePointer(&raw_ptr()->token_objects_, value.raw());
}
-
RawExternalTypedData* TokenStream::GetStream() const {
return raw_ptr()->stream_;
}
-
void TokenStream::SetStream(const ExternalTypedData& value) const {
StorePointer(&raw_ptr()->stream_, value.raw());
}
-
void TokenStream::DataFinalizer(void* isolate_callback_data,
Dart_WeakPersistentHandle handle,
void* peer) {
@@ -8585,12 +8157,10 @@ void TokenStream::DataFinalizer(void* isolate_callback_data,
::free(peer);
}
-
RawString* TokenStream::PrivateKey() const {
return raw_ptr()->private_key_;
}
-
void TokenStream::SetPrivateKey(const String& value) const {
StorePointer(&raw_ptr()->private_key_, value.raw());
}
@@ -8784,7 +8354,6 @@ RawString* TokenStream::GenerateSource(TokenPosition start_pos,
return String::ConcatAll(source);
}
-
intptr_t TokenStream::ComputeSourcePosition(TokenPosition tok_pos) const {
Zone* zone = Thread::Current()->zone();
Iterator iterator(zone, *this, TokenPosition::kMinSource,
@@ -8799,7 +8368,6 @@ intptr_t TokenStream::ComputeSourcePosition(TokenPosition tok_pos) const {
return src_pos;
}
-
RawTokenStream* TokenStream::New() {
ASSERT(Object::token_stream_class() != Class::null());
RawObject* raw = Object::Allocate(TokenStream::kClassId,
@@ -8807,7 +8375,6 @@ RawTokenStream* TokenStream::New() {
return reinterpret_cast<RawTokenStream*>(raw);
}
-
RawTokenStream* TokenStream::New(intptr_t len) {
if (len < 0 || len > kMaxElements) {
// This should be caught before we reach here.
@@ -8825,7 +8392,6 @@ RawTokenStream* TokenStream::New(intptr_t len) {
return result.raw();
}
-
// CompressedTokenMap maps String and LiteralToken keys to Smi values.
// It also supports lookup by TokenDescriptor.
class CompressedTokenTraits {
@@ -8862,7 +8428,6 @@ class CompressedTokenTraits {
};
typedef UnorderedHashMap<CompressedTokenTraits> CompressedTokenMap;
-
// Helper class for creation of compressed token stream data.
class CompressedTokenStreamData : public Scanner::TokenCollector {
public:
@@ -8971,7 +8536,6 @@ class CompressedTokenStreamData : public Scanner::TokenCollector {
DISALLOW_COPY_AND_ASSIGN(CompressedTokenStreamData);
};
-
RawTokenStream* TokenStream::New(const String& source,
const String& private_key,
bool use_shared_tokens) {
@@ -9025,7 +8589,6 @@ RawTokenStream* TokenStream::New(const String& source,
return result.raw();
}
-
void TokenStream::OpenSharedTokenList(Isolate* isolate) {
const int kInitialSharedCapacity = 5 * 1024;
ObjectStore* store = isolate->object_store();
@@ -9038,18 +8601,15 @@ void TokenStream::OpenSharedTokenList(Isolate* isolate) {
store->set_token_objects_map(token_objects_map);
}
-
void TokenStream::CloseSharedTokenList(Isolate* isolate) {
isolate->object_store()->set_token_objects(GrowableObjectArray::Handle());
isolate->object_store()->set_token_objects_map(Array::null_array());
}
-
const char* TokenStream::ToCString() const {
return "TokenStream";
}
-
TokenStream::Iterator::Iterator(Zone* zone,
const TokenStream& tokens,
TokenPosition token_pos,
@@ -9071,7 +8631,6 @@ TokenStream::Iterator::Iterator(Zone* zone,
}
}
-
void TokenStream::Iterator::SetStream(const TokenStream& tokens,
TokenPosition token_pos) {
tokens_ = tokens.raw();
@@ -9086,12 +8645,10 @@ void TokenStream::Iterator::SetStream(const TokenStream& tokens,
SetCurrentPosition(token_pos);
}
-
bool TokenStream::Iterator::IsValid() const {
return !tokens_.IsNull();
}
-
Token::Kind TokenStream::Iterator::LookaheadTokenKind(intptr_t num_tokens) {
intptr_t saved_position = stream_.Position();
Token::Kind kind = Token::kILLEGAL;
@@ -9121,18 +8678,15 @@ Token::Kind TokenStream::Iterator::LookaheadTokenKind(intptr_t num_tokens) {
return kind;
}
-
TokenPosition TokenStream::Iterator::CurrentPosition() const {
return TokenPosition(cur_token_pos_);
}
-
void TokenStream::Iterator::SetCurrentPosition(TokenPosition token_pos) {
stream_.SetPosition(token_pos.value());
Advance();
}
-
void TokenStream::Iterator::Advance() {
intptr_t value;
do {
@@ -9156,7 +8710,6 @@ void TokenStream::Iterator::Advance() {
cur_token_kind_ = Token::kIDENT;
}
-
RawObject* TokenStream::Iterator::CurrentToken() const {
if (cur_token_obj_index_ != -1) {
return token_objects_.At(cur_token_obj_index_);
@@ -9165,13 +8718,11 @@ RawObject* TokenStream::Iterator::CurrentToken() const {
}
}
-
RawString* TokenStream::Iterator::CurrentLiteral() const {
obj_ = CurrentToken();
return MakeLiteralToken(obj_);
}
-
RawString* TokenStream::Iterator::MakeLiteralToken(const Object& obj) const {
if (obj.IsString()) {
return reinterpret_cast<RawString*>(obj.raw());
@@ -9187,7 +8738,6 @@ RawString* TokenStream::Iterator::MakeLiteralToken(const Object& obj) const {
}
}
-
bool Script::HasSource() const {
#if !defined(DART_PRECOMPILED_RUNTIME)
return kind() == RawScript::kKernelTag ||
@@ -9197,7 +8747,6 @@ bool Script::HasSource() const {
#endif // !defined(DART_PRECOMPILED_RUNTIME)
}
-
RawString* Script::Source() const {
String& source = String::Handle(raw_ptr()->source_);
if (source.IsNull()) {
@@ -9206,7 +8755,6 @@ RawString* Script::Source() const {
return raw_ptr()->source_;
}
-
RawString* Script::GenerateSource() const {
#if !defined(DART_PRECOMPILED_RUNTIME)
if (kind() == RawScript::kKernelTag) {
@@ -9227,42 +8775,34 @@ RawString* Script::GenerateSource() const {
return token_stream.GenerateSource();
}
-
void Script::set_compile_time_constants(const Array& value) const {
StorePointer(&raw_ptr()->compile_time_constants_, value.raw());
}
-
void Script::set_kernel_data(const uint8_t* kernel_data) const {
StoreNonPointer(&raw_ptr()->kernel_data_, kernel_data);
}
-
void Script::set_kernel_data_size(const intptr_t kernel_data_size) const {
StoreNonPointer(&raw_ptr()->kernel_data_size_, kernel_data_size);
}
-
void Script::set_kernel_script_index(const intptr_t kernel_script_index) const {
StoreNonPointer(&raw_ptr()->kernel_script_index_, kernel_script_index);
}
-
void Script::set_kernel_string_offsets(const TypedData& offsets) const {
StorePointer(&raw_ptr()->kernel_string_offsets_, offsets.raw());
}
-
void Script::set_kernel_string_data(const TypedData& data) const {
StorePointer(&raw_ptr()->kernel_string_data_, data.raw());
}
-
void Script::set_kernel_canonical_names(const TypedData& names) const {
StorePointer(&raw_ptr()->kernel_canonical_names_, names.raw());
}
-
RawGrowableObjectArray* Script::GenerateLineNumberArray() const {
Zone* zone = Thread::Current()->zone();
const GrowableObjectArray& info =
@@ -9392,7 +8932,6 @@ RawGrowableObjectArray* Script::GenerateLineNumberArray() const {
return info.raw();
}
-
const char* Script::GetKindAsCString() const {
switch (kind()) {
case RawScript::kScriptTag:
@@ -9414,17 +8953,14 @@ const char* Script::GetKindAsCString() const {
return NULL;
}
-
void Script::set_url(const String& value) const {
StorePointer(&raw_ptr()->url_, value.raw());
}
-
void Script::set_resolved_url(const String& value) const {
StorePointer(&raw_ptr()->resolved_url_, value.raw());
}
-
void Script::set_source(const String& value) const {
StorePointer(&raw_ptr()->source_, value.raw());
}
@@ -9433,7 +8969,6 @@ void Script::set_line_starts(const Array& value) const {
StorePointer(&raw_ptr()->line_starts_, value.raw());
}
-
void Script::set_debug_positions(const Array& value) const {
StorePointer(&raw_ptr()->debug_positions_, value.raw());
}
@@ -9453,7 +8988,6 @@ RawArray* Script::yield_positions() const {
return raw_ptr()->yield_positions_;
}
-
RawArray* Script::line_starts() const {
#if !defined(DART_PRECOMPILED_RUNTIME)
const Array& line_starts_array = Array::Handle(raw_ptr()->line_starts_);
@@ -9465,7 +8999,6 @@ RawArray* Script::line_starts() const {
return raw_ptr()->line_starts_;
}
-
RawArray* Script::debug_positions() const {
#if !defined(DART_PRECOMPILED_RUNTIME)
Array& debug_positions_array = Array::Handle(raw_ptr()->debug_positions_);
@@ -9481,17 +9014,14 @@ void Script::set_kind(RawScript::Kind value) const {
StoreNonPointer(&raw_ptr()->kind_, value);
}
-
void Script::set_load_timestamp(int64_t value) const {
StoreNonPointer(&raw_ptr()->load_timestamp_, value);
}
-
void Script::set_tokens(const TokenStream& value) const {
StorePointer(&raw_ptr()->tokens_, value.raw());
}
-
void Script::Tokenize(const String& private_key, bool use_shared_tokens) const {
if (kind() == RawScript::kKernelTag) {
return;
@@ -9514,7 +9044,6 @@ void Script::Tokenize(const String& private_key, bool use_shared_tokens) const {
INC_STAT(thread, src_length, src.Length());
}
-
void Script::SetLocationOffset(intptr_t line_offset,
intptr_t col_offset) const {
ASSERT(line_offset >= 0);
@@ -9523,7 +9052,6 @@ void Script::SetLocationOffset(intptr_t line_offset,
StoreNonPointer(&raw_ptr()->col_offset_, col_offset);
}
-
// Specialized for AOT compilation, which does this lookup for every token
// position that could be part of a stack trace.
intptr_t Script::GetTokenLineUsingLineStarts(
@@ -9574,7 +9102,6 @@ intptr_t Script::GetTokenLineUsingLineStarts(
return min + 1; // Line numbers start at 1.
}
-
void Script::GetTokenLocation(TokenPosition token_pos,
intptr_t* line,
intptr_t* column,
@@ -9680,7 +9207,6 @@ void Script::GetTokenLocation(TokenPosition token_pos,
}
}
-
void Script::TokenRangeAtLine(intptr_t line_number,
TokenPosition* first_token_index,
TokenPosition* last_token_index) const {
@@ -9753,13 +9279,11 @@ void Script::TokenRangeAtLine(intptr_t line_number,
*last_token_index = end_pos;
}
-
int32_t Script::SourceFingerprint() const {
return SourceFingerprint(TokenPosition(TokenPosition::kMinSourcePos),
TokenPosition(TokenPosition::kMaxSourcePos));
}
-
int32_t Script::SourceFingerprint(TokenPosition start,
TokenPosition end) const {
uint32_t result = 0;
@@ -9790,7 +9314,6 @@ int32_t Script::SourceFingerprint(TokenPosition start,
return result;
}
-
RawString* Script::GetLine(intptr_t line_number, Heap::Space space) const {
const String& src = String::Handle(Source());
if (src.IsNull()) {
@@ -9826,7 +9349,6 @@ RawString* Script::GetLine(intptr_t line_number, Heap::Space space) const {
}
}
-
RawString* Script::GetSnippet(TokenPosition from, TokenPosition to) const {
intptr_t from_line;
intptr_t from_column;
@@ -9837,7 +9359,6 @@ RawString* Script::GetSnippet(TokenPosition from, TokenPosition to) const {
return GetSnippet(from_line, from_column, to_line, to_column);
}
-
RawString* Script::GetSnippet(intptr_t from_line,
intptr_t from_column,
intptr_t to_line,
@@ -9892,7 +9413,6 @@ RawString* Script::GetSnippet(intptr_t from_line,
return snippet.raw();
}
-
RawScript* Script::New() {
ASSERT(Object::script_class() != Class::null());
RawObject* raw =
@@ -9900,14 +9420,12 @@ RawScript* Script::New() {
return reinterpret_cast<RawScript*>(raw);
}
-
RawScript* Script::New(const String& url,
const String& source,
RawScript::Kind kind) {
return Script::New(url, url, source, kind);
}
-
RawScript* Script::New(const String& url,
const String& resolved_url,
const String& source,
@@ -9926,13 +9444,11 @@ RawScript* Script::New(const String& url,
return result.raw();
}
-
const char* Script::ToCString() const {
const String& name = String::Handle(url());
return OS::SCreate(Thread::Current()->zone(), "Script(%s)", name.ToCString());
}
-
RawLibrary* Script::FindLibrary() const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -9953,7 +9469,6 @@ RawLibrary* Script::FindLibrary() const {
return Library::null();
}
-
DictionaryIterator::DictionaryIterator(const Library& library)
: array_(Array::Handle(library.dictionary())),
// Last element in array is a Smi indicating the number of entries used.
@@ -9962,7 +9477,6 @@ DictionaryIterator::DictionaryIterator(const Library& library)
MoveToNextObject();
}
-
RawObject* DictionaryIterator::GetNext() {
ASSERT(HasNext());
int ix = next_ix_++;
@@ -9971,7 +9485,6 @@ RawObject* DictionaryIterator::GetNext() {
return array_.At(ix);
}
-
void DictionaryIterator::MoveToNextObject() {
Object& obj = Object::Handle(array_.At(next_ix_));
while (obj.IsNull() && HasNext()) {
@@ -9980,7 +9493,6 @@ void DictionaryIterator::MoveToNextObject() {
}
}
-
ClassDictionaryIterator::ClassDictionaryIterator(const Library& library,
IterationKind kind)
: DictionaryIterator(library),
@@ -9990,7 +9502,6 @@ ClassDictionaryIterator::ClassDictionaryIterator(const Library& library,
MoveToNextClass();
}
-
RawClass* ClassDictionaryIterator::GetNextClass() {
ASSERT(HasNext());
Class& cls = Class::Handle();
@@ -10006,7 +9517,6 @@ RawClass* ClassDictionaryIterator::GetNextClass() {
return cls.raw();
}
-
void ClassDictionaryIterator::MoveToNextClass() {
Object& obj = Object::Handle();
while (next_ix_ < size_) {
@@ -10018,13 +9528,11 @@ void ClassDictionaryIterator::MoveToNextClass() {
}
}
-
LibraryPrefixIterator::LibraryPrefixIterator(const Library& library)
: DictionaryIterator(library) {
Advance();
}
-
RawLibraryPrefix* LibraryPrefixIterator::GetNext() {
ASSERT(HasNext());
int ix = next_ix_++;
@@ -10033,7 +9541,6 @@ RawLibraryPrefix* LibraryPrefixIterator::GetNext() {
return LibraryPrefix::Cast(obj).raw();
}
-
void LibraryPrefixIterator::Advance() {
Object& obj = Object::Handle(array_.At(next_ix_));
while (!obj.IsLibraryPrefix() && HasNext()) {
@@ -10042,7 +9549,6 @@ void LibraryPrefixIterator::Advance() {
}
}
-
static void ReportTooManyImports(const Library& lib) {
const String& url = String::Handle(lib.url());
Report::MessageF(Report::kError, Script::Handle(lib.LookupScript(url)),
@@ -10051,7 +9557,6 @@ static void ReportTooManyImports(const Library& lib) {
UNREACHABLE();
}
-
void Library::set_num_imports(intptr_t value) const {
if (!Utils::IsUint(16, value)) {
ReportTooManyImports(*this);
@@ -10059,7 +9564,6 @@ void Library::set_num_imports(intptr_t value) const {
StoreNonPointer(&raw_ptr()->num_imports_, value);
}
-
void Library::SetName(const String& name) const {
// Only set name once.
ASSERT(!Loaded());
@@ -10067,28 +9571,24 @@ void Library::SetName(const String& name) const {
StorePointer(&raw_ptr()->name_, name.raw());
}
-
void Library::SetLoadInProgress() const {
// Must not already be in the process of being loaded.
ASSERT(raw_ptr()->load_state_ <= RawLibrary::kLoadRequested);
StoreNonPointer(&raw_ptr()->load_state_, RawLibrary::kLoadInProgress);
}
-
void Library::SetLoadRequested() const {
// Must not be already loaded.
ASSERT(raw_ptr()->load_state_ == RawLibrary::kAllocated);
StoreNonPointer(&raw_ptr()->load_state_, RawLibrary::kLoadRequested);
}
-
void Library::SetLoaded() const {
// Should not be already loaded or just allocated.
ASSERT(LoadInProgress() || LoadRequested());
StoreNonPointer(&raw_ptr()->load_state_, RawLibrary::kLoaded);
}
-
void Library::SetLoadError(const Instance& error) const {
// Should not be already successfully loaded or just allocated.
ASSERT(LoadInProgress() || LoadRequested() || LoadFailed());
@@ -10096,7 +9596,6 @@ void Library::SetLoadError(const Instance& error) const {
StorePointer(&raw_ptr()->load_error_, error.raw());
}
-
// Traits for looking up Libraries by url in a hash set.
class LibraryUrlTraits {
public:
@@ -10113,7 +9612,6 @@ class LibraryUrlTraits {
};
typedef UnorderedHashSet<LibraryUrlTraits> LibraryLoadErrorSet;
-
RawInstance* Library::TransitiveLoadError() const {
if (LoadError() != Instance::null()) {
return LoadError();
@@ -10145,7 +9643,6 @@ RawInstance* Library::TransitiveLoadError() const {
return error.raw();
}
-
void Library::AddPatchClass(const Class& cls) const {
ASSERT(Thread::Current()->IsMutatorThread());
ASSERT(cls.is_patch());
@@ -10155,7 +9652,6 @@ void Library::AddPatchClass(const Class& cls) const {
patch_classes.Add(cls);
}
-
RawClass* Library::GetPatchClass(const String& name) const {
ASSERT(Thread::Current()->IsMutatorThread());
const GrowableObjectArray& patch_classes =
@@ -10171,7 +9667,6 @@ RawClass* Library::GetPatchClass(const String& name) const {
return Class::null();
}
-
void Library::RemovePatchClass(const Class& cls) const {
ASSERT(Thread::Current()->IsMutatorThread());
ASSERT(cls.is_patch());
@@ -10192,7 +9687,6 @@ void Library::RemovePatchClass(const Class& cls) const {
patch_classes.SetAt(i, patch_script);
}
-
static RawString* MakeClassMetaName(Thread* thread,
Zone* zone,
const Class& cls) {
@@ -10200,7 +9694,6 @@ static RawString* MakeClassMetaName(Thread* thread,
String::Handle(zone, cls.Name()));
}
-
static RawString* MakeFieldMetaName(Thread* thread,
Zone* zone,
const Field& field) {
@@ -10214,7 +9707,6 @@ static RawString* MakeFieldMetaName(Thread* thread,
return Symbols::FromConcatAll(thread, pieces);
}
-
static RawString* MakeFunctionMetaName(Thread* thread,
Zone* zone,
const Function& func) {
@@ -10228,7 +9720,6 @@ static RawString* MakeFunctionMetaName(Thread* thread,
return Symbols::FromConcatAll(thread, pieces);
}
-
static RawString* MakeTypeParameterMetaName(Thread* thread,
Zone* zone,
const TypeParameter& param) {
@@ -10243,7 +9734,6 @@ static RawString* MakeTypeParameterMetaName(Thread* thread,
return Symbols::FromConcatAll(thread, pieces);
}
-
void Library::AddMetadata(const Object& owner,
const String& name,
TokenPosition token_pos,
@@ -10266,7 +9756,6 @@ void Library::AddMetadata(const Object& owner,
metadata.Add(field, Heap::kOld);
}
-
void Library::AddClassMetadata(const Class& cls,
const Object& tl_owner,
TokenPosition token_pos,
@@ -10280,7 +9769,6 @@ void Library::AddClassMetadata(const Class& cls,
token_pos, kernel_offset);
}
-
void Library::AddFieldMetadata(const Field& field,
TokenPosition token_pos,
intptr_t kernel_offset) const {
@@ -10291,7 +9779,6 @@ void Library::AddFieldMetadata(const Field& field,
token_pos, kernel_offset);
}
-
void Library::AddFunctionMetadata(const Function& func,
TokenPosition token_pos,
intptr_t kernel_offset) const {
@@ -10302,7 +9789,6 @@ void Library::AddFunctionMetadata(const Function& func,
token_pos, kernel_offset);
}
-
void Library::AddTypeParameterMetadata(const TypeParameter& param,
TokenPosition token_pos) const {
Thread* thread = Thread::Current();
@@ -10313,13 +9799,11 @@ void Library::AddTypeParameterMetadata(const TypeParameter& param,
token_pos);
}
-
void Library::AddLibraryMetadata(const Object& tl_owner,
TokenPosition token_pos) const {
AddMetadata(tl_owner, Symbols::TopLevel(), token_pos);
}
-
RawString* Library::MakeMetadataName(const Object& obj) const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -10338,7 +9822,6 @@ RawString* Library::MakeMetadataName(const Object& obj) const {
return String::null();
}
-
RawField* Library::GetMetadataField(const String& metaname) const {
ASSERT(Thread::Current()->IsMutatorThread());
const GrowableObjectArray& metadata =
@@ -10356,7 +9839,6 @@ RawField* Library::GetMetadataField(const String& metaname) const {
return Field::null();
}
-
RawObject* Library::GetMetadata(const Object& obj) const {
#if defined(DART_PRECOMPILED_RUNTIME)
COMPILE_ASSERT(!FLAG_enable_mirrors);
@@ -10389,7 +9871,6 @@ RawObject* Library::GetMetadata(const Object& obj) const {
#endif // defined(DART_PRECOMPILED_RUNTIME)
}
-
static bool ShouldBePrivate(const String& name) {
return (name.Length() >= 1 && name.CharAt(0) == '_') ||
(name.Length() >= 5 &&
@@ -10399,7 +9880,6 @@ static bool ShouldBePrivate(const String& name) {
name.CharAt(3) == ':'));
}
-
RawObject* Library::ResolveName(const String& name) const {
Object& obj = Object::Handle();
if (FLAG_use_lib_cache && LookupResolvedNamesCache(name, &obj)) {
@@ -10428,7 +9908,6 @@ RawObject* Library::ResolveName(const String& name) const {
return obj.raw();
}
-
class StringEqualsTraits {
public:
static const char* Name() { return "StringEqualsTraits"; }
@@ -10441,7 +9920,6 @@ class StringEqualsTraits {
};
typedef UnorderedHashMap<StringEqualsTraits> ResolvedNamesMap;
-
// Returns true if the name is found in the cache, false no cache hit.
// obj is set to the cached entry. It may be null, indicating that the
// name does not resolve to anything in this library.
@@ -10466,7 +9944,6 @@ bool Library::LookupResolvedNamesCache(const String& name, Object* obj) const {
return present;
}
-
// Add a name to the resolved name cache. This name resolves to the
// given object in this library scope. obj may be null, which means
// the name does not resolve to anything in this library scope.
@@ -10483,7 +9960,6 @@ void Library::AddToResolvedNamesCache(const String& name,
StorePointer(&raw_ptr()->resolved_names_, cache.Release().raw());
}
-
bool Library::LookupExportedNamesCache(const String& name, Object* obj) const {
ASSERT(FLAG_use_exp_cache);
if (exported_names() == Array::null()) {
@@ -10519,7 +9995,6 @@ void Library::AddToExportedNamesCache(const String& name,
StorePointer(&raw_ptr()->exported_names_, cache.Release().raw());
}
-
void Library::InvalidateResolvedName(const String& name) const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -10543,7 +10018,6 @@ void Library::InvalidateResolvedName(const String& name) const {
}
}
-
// Invalidate all exported names caches in the isolate.
void Library::InvalidateExportedNamesCaches() {
GrowableObjectArray& libs = GrowableObjectArray::Handle(
@@ -10556,7 +10030,6 @@ void Library::InvalidateExportedNamesCaches() {
}
}
-
void Library::RehashDictionary(const Array& old_dict,
intptr_t new_dict_size) const {
intptr_t old_dict_size = old_dict.Length() - 1;
@@ -10592,7 +10065,6 @@ void Library::RehashDictionary(const Array& old_dict,
StorePointer(&raw_ptr()->dictionary_, new_dict.raw());
}
-
void Library::AddObject(const Object& obj, const String& name) const {
ASSERT(Thread::Current()->IsMutatorThread());
ASSERT(obj.IsClass() || obj.IsFunction() || obj.IsField() ||
@@ -10630,7 +10102,6 @@ void Library::AddObject(const Object& obj, const String& name) const {
}
}
-
// Lookup a name in the library's re-export namespace.
// This lookup can occur from two different threads: background compiler and
// mutator thread.
@@ -10673,7 +10144,6 @@ RawObject* Library::LookupReExport(const String& name,
return obj.raw();
}
-
RawObject* Library::LookupEntry(const String& name, intptr_t* index) const {
Thread* thread = Thread::Current();
REUSABLE_ARRAY_HANDLESCOPE(thread);
@@ -10699,7 +10169,6 @@ RawObject* Library::LookupEntry(const String& name, intptr_t* index) const {
return Object::null();
}
-
void Library::ReplaceObject(const Object& obj, const String& name) const {
ASSERT(!Compiler::IsBackgroundCompilation());
ASSERT(obj.IsClass() || obj.IsFunction() || obj.IsField());
@@ -10712,7 +10181,6 @@ void Library::ReplaceObject(const Object& obj, const String& name) const {
dict.SetAt(index, obj);
}
-
void Library::AddClass(const Class& cls) const {
ASSERT(!Compiler::IsBackgroundCompilation());
const String& class_name = String::Handle(cls.Name());
@@ -10722,7 +10190,6 @@ void Library::AddClass(const Class& cls) const {
InvalidateResolvedName(class_name);
}
-
static void AddScriptIfUnique(const GrowableObjectArray& scripts,
const Script& candidate) {
if (candidate.IsNull()) {
@@ -10741,7 +10208,6 @@ static void AddScriptIfUnique(const GrowableObjectArray& scripts,
scripts.Add(candidate);
}
-
RawArray* Library::LoadedScripts() const {
ASSERT(Thread::Current()->IsMutatorThread());
// We compute the list of loaded scripts lazily. The result is
@@ -10806,7 +10272,6 @@ RawArray* Library::LoadedScripts() const {
return loaded_scripts();
}
-
// TODO(hausner): we might want to add a script dictionary to the
// library class to make this lookup faster.
RawScript* Library::LookupScript(const String& url) const {
@@ -10837,13 +10302,11 @@ RawScript* Library::LookupScript(const String& url) const {
return Script::null();
}
-
RawObject* Library::LookupLocalObject(const String& name) const {
intptr_t index;
return LookupEntry(name, &index);
}
-
RawField* Library::LookupFieldAllowPrivate(const String& name) const {
Object& obj = Object::Handle(LookupObjectAllowPrivate(name));
if (obj.IsField()) {
@@ -10852,7 +10315,6 @@ RawField* Library::LookupFieldAllowPrivate(const String& name) const {
return Field::null();
}
-
RawField* Library::LookupLocalField(const String& name) const {
Object& obj = Object::Handle(LookupLocalObjectAllowPrivate(name));
if (obj.IsField()) {
@@ -10861,7 +10323,6 @@ RawField* Library::LookupLocalField(const String& name) const {
return Field::null();
}
-
RawFunction* Library::LookupFunctionAllowPrivate(const String& name) const {
Object& obj = Object::Handle(LookupObjectAllowPrivate(name));
if (obj.IsFunction()) {
@@ -10870,7 +10331,6 @@ RawFunction* Library::LookupFunctionAllowPrivate(const String& name) const {
return Function::null();
}
-
RawFunction* Library::LookupLocalFunction(const String& name) const {
Object& obj = Object::Handle(LookupLocalObjectAllowPrivate(name));
if (obj.IsFunction()) {
@@ -10879,7 +10339,6 @@ RawFunction* Library::LookupLocalFunction(const String& name) const {
return Function::null();
}
-
RawObject* Library::LookupLocalObjectAllowPrivate(const String& name) const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -10892,7 +10351,6 @@ RawObject* Library::LookupLocalObjectAllowPrivate(const String& name) const {
return obj.raw();
}
-
RawObject* Library::LookupObjectAllowPrivate(const String& name) const {
// First check if name is found in the local scope of the library.
Object& obj = Object::Handle(LookupLocalObjectAllowPrivate(name));
@@ -10909,7 +10367,6 @@ RawObject* Library::LookupObjectAllowPrivate(const String& name) const {
return LookupImportedObject(name);
}
-
RawObject* Library::LookupImportedObject(const String& name) const {
Object& obj = Object::Handle();
Namespace& import = Namespace::Handle();
@@ -10971,7 +10428,6 @@ RawObject* Library::LookupImportedObject(const String& name) const {
return found_obj.raw();
}
-
RawClass* Library::LookupClass(const String& name) const {
Object& obj = Object::Handle(ResolveName(name));
if (obj.IsClass()) {
@@ -10980,7 +10436,6 @@ RawClass* Library::LookupClass(const String& name) const {
return Class::null();
}
-
RawClass* Library::LookupLocalClass(const String& name) const {
Object& obj = Object::Handle(LookupLocalObject(name));
if (obj.IsClass()) {
@@ -10989,7 +10444,6 @@ RawClass* Library::LookupLocalClass(const String& name) const {
return Class::null();
}
-
RawClass* Library::LookupClassAllowPrivate(const String& name) const {
// See if the class is available in this library or in the top level
// scope of any imported library.
@@ -11011,7 +10465,6 @@ RawClass* Library::LookupClassAllowPrivate(const String& name) const {
return Class::null();
}
-
// Mixin applications can have multiple private keys from different libraries.
RawClass* Library::SlowLookupClassAllowMultiPartPrivate(
const String& name) const {
@@ -11031,7 +10484,6 @@ RawClass* Library::SlowLookupClassAllowMultiPartPrivate(
return Class::null();
}
-
RawLibraryPrefix* Library::LookupLocalLibraryPrefix(const String& name) const {
const Object& obj = Object::Handle(LookupLocalObject(name));
if (obj.IsLibraryPrefix()) {
@@ -11040,13 +10492,11 @@ RawLibraryPrefix* Library::LookupLocalLibraryPrefix(const String& name) const {
return LibraryPrefix::null();
}
-
void Library::set_toplevel_class(const Class& value) const {
ASSERT(raw_ptr()->toplevel_class_ == Class::null());
StorePointer(&raw_ptr()->toplevel_class_, value.raw());
}
-
RawLibrary* Library::ImportLibraryAt(intptr_t index) const {
Namespace& import = Namespace::Handle(ImportAt(index));
if (import.IsNull()) {
@@ -11055,7 +10505,6 @@ RawLibrary* Library::ImportLibraryAt(intptr_t index) const {
return import.library();
}
-
RawNamespace* Library::ImportAt(intptr_t index) const {
if ((index < 0) || index >= num_imports()) {
return Namespace::null();
@@ -11064,7 +10513,6 @@ RawNamespace* Library::ImportAt(intptr_t index) const {
return Namespace::RawCast(import_list.At(index));
}
-
bool Library::ImportsCorelib() const {
Zone* zone = Thread::Current()->zone();
Library& imported = Library::Handle(zone);
@@ -11090,7 +10538,6 @@ bool Library::ImportsCorelib() const {
return false;
}
-
void Library::DropDependenciesAndCaches() const {
StorePointer(&raw_ptr()->imports_, Object::empty_array().raw());
StorePointer(&raw_ptr()->exports_, Object::empty_array().raw());
@@ -11100,7 +10547,6 @@ void Library::DropDependenciesAndCaches() const {
StorePointer(&raw_ptr()->loaded_scripts_, Array::null());
}
-
void Library::AddImport(const Namespace& ns) const {
Array& imports = Array::Handle(this->imports());
intptr_t capacity = imports.Length();
@@ -11114,14 +10560,12 @@ void Library::AddImport(const Namespace& ns) const {
set_num_imports(index + 1);
}
-
// Convenience function to determine whether the export list is
// non-empty.
bool Library::HasExports() const {
return exports() != Object::empty_array().raw();
}
-
// We add one namespace at a time to the exports array and don't
// pre-allocate any unused capacity. The assumption is that
// re-exports are quite rare.
@@ -11133,7 +10577,6 @@ void Library::AddExport(const Namespace& ns) const {
exports.SetAt(num_exports, ns);
}
-
static RawArray* NewDictionary(intptr_t initial_size) {
const Array& dict = Array::Handle(Array::New(initial_size + 1, Heap::kOld));
// The last element of the dictionary specifies the number of in use slots.
@@ -11141,38 +10584,32 @@ static RawArray* NewDictionary(intptr_t initial_size) {
return dict.raw();
}
-
void Library::InitResolvedNamesCache() const {
ASSERT(Thread::Current()->IsMutatorThread());
StorePointer(&raw_ptr()->resolved_names_,
HashTables::New<ResolvedNamesMap>(64));
}
-
void Library::ClearResolvedNamesCache() const {
ASSERT(Thread::Current()->IsMutatorThread());
StorePointer(&raw_ptr()->resolved_names_, Array::null());
}
-
void Library::InitExportedNamesCache() const {
StorePointer(&raw_ptr()->exported_names_,
HashTables::New<ResolvedNamesMap>(16));
}
-
void Library::ClearExportedNamesCache() const {
StorePointer(&raw_ptr()->exported_names_, Array::null());
}
-
void Library::InitClassDictionary() const {
// TODO(iposva): Find reasonable initial size.
const int kInitialElementCount = 16;
StorePointer(&raw_ptr()->dictionary_, NewDictionary(kInitialElementCount));
}
-
void Library::InitImportList() const {
const Array& imports =
Array::Handle(Array::New(kInitialImportsCapacity, Heap::kOld));
@@ -11180,7 +10617,6 @@ void Library::InitImportList() const {
StoreNonPointer(&raw_ptr()->num_imports_, 0);
}
-
RawLibrary* Library::New() {
ASSERT(Object::library_class() != Class::null());
RawObject* raw =
@@ -11188,7 +10624,6 @@ RawLibrary* Library::New() {
return reinterpret_cast<RawLibrary*>(raw);
}
-
RawLibrary* Library::NewLibraryHelper(const String& url, bool import_core_lib) {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -11248,12 +10683,10 @@ RawLibrary* Library::NewLibraryHelper(const String& url, bool import_core_lib) {
return result.raw();
}
-
RawLibrary* Library::New(const String& url) {
return NewLibraryHelper(url, false);
}
-
void Library::InitCoreLibrary(Isolate* isolate) {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -11272,7 +10705,6 @@ void Library::InitCoreLibrary(Isolate* isolate) {
core_lib.AddObject(cls, String::Handle(zone, cls.Name()));
}
-
RawObject* Library::Evaluate(const String& expr,
const Array& param_names,
const Array& param_values) const {
@@ -11282,7 +10714,6 @@ RawObject* Library::Evaluate(const String& expr,
return top_level_class.Evaluate(expr, param_names, param_values);
}
-
void Library::InitNativeWrappersLibrary(Isolate* isolate, bool is_kernel) {
static const int kNumNativeWrappersClasses = 4;
COMPILE_ASSERT((kNumNativeWrappersClasses > 0) &&
@@ -11317,7 +10748,6 @@ void Library::InitNativeWrappersLibrary(Isolate* isolate, bool is_kernel) {
}
}
-
// LibraryLookupSet maps URIs to libraries.
class LibraryLookupTraits {
public:
@@ -11338,7 +10768,6 @@ class LibraryLookupTraits {
};
typedef UnorderedHashMap<LibraryLookupTraits> LibraryLookupMap;
-
// Returns library with given url in current isolate, or NULL.
RawLibrary* Library::LookupLibrary(Thread* thread, const String& url) {
Zone* zone = thread->zone();
@@ -11361,13 +10790,11 @@ RawLibrary* Library::LookupLibrary(Thread* thread, const String& url) {
return lib.raw();
}
-
RawError* Library::Patch(const Script& script) const {
ASSERT(script.kind() == RawScript::kPatchTag);
return Compiler::Compile(*this, script);
}
-
bool Library::IsPrivate(const String& name) {
if (ShouldBePrivate(name)) return true;
// Factory names: List._fromLiteral.
@@ -11381,7 +10808,6 @@ bool Library::IsPrivate(const String& name) {
return false;
}
-
// Create a private key for this library. It is based on the hash of the
// library URI and the sequence number of the library to guarantee unique
// private keys without having to verify.
@@ -11421,14 +10847,12 @@ void Library::AllocatePrivateKey() const {
StorePointer(&raw_ptr()->private_key_, key.raw());
}
-
const String& Library::PrivateCoreLibName(const String& member) {
const Library& core_lib = Library::Handle(Library::CoreLibrary());
const String& private_name = String::ZoneHandle(core_lib.PrivateName(member));
return private_name;
}
-
RawClass* Library::LookupCoreClass(const String& class_name) {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -11442,7 +10866,6 @@ RawClass* Library::LookupCoreClass(const String& class_name) {
return core_lib.LookupClass(name);
}
-
// Cannot handle qualified names properly as it only appends private key to
// the end (e.g. _Alfa.foo -> _Alfa.foo@...).
RawString* Library::PrivateName(const String& name) const {
@@ -11457,7 +10880,6 @@ RawString* Library::PrivateName(const String& name) const {
return str.raw();
}
-
RawLibrary* Library::GetLibrary(intptr_t index) {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -11473,7 +10895,6 @@ RawLibrary* Library::GetLibrary(intptr_t index) {
return Library::null();
}
-
void Library::Register(Thread* thread) const {
Zone* zone = thread->zone();
Isolate* isolate = thread->isolate();
@@ -11502,7 +10923,6 @@ void Library::Register(Thread* thread) const {
object_store->set_libraries_map(map.Release());
}
-
void Library::RegisterLibraries(Thread* thread,
const GrowableObjectArray& libs) {
Zone* zone = thread->zone();
@@ -11523,81 +10943,66 @@ void Library::RegisterLibraries(Thread* thread,
isolate->object_store()->set_libraries_map(map.Release());
}
-
RawLibrary* Library::AsyncLibrary() {
return Isolate::Current()->object_store()->async_library();
}
-
RawLibrary* Library::ConvertLibrary() {
return Isolate::Current()->object_store()->convert_library();
}
-
RawLibrary* Library::CoreLibrary() {
return Isolate::Current()->object_store()->core_library();
}
-
RawLibrary* Library::CollectionLibrary() {
return Isolate::Current()->object_store()->collection_library();
}
-
RawLibrary* Library::DeveloperLibrary() {
return Isolate::Current()->object_store()->developer_library();
}
-
RawLibrary* Library::InternalLibrary() {
return Isolate::Current()->object_store()->_internal_library();
}
-
RawLibrary* Library::IsolateLibrary() {
return Isolate::Current()->object_store()->isolate_library();
}
-
RawLibrary* Library::MathLibrary() {
return Isolate::Current()->object_store()->math_library();
}
-
#if !defined(PRODUCT)
RawLibrary* Library::MirrorsLibrary() {
return Isolate::Current()->object_store()->mirrors_library();
}
#endif
-
RawLibrary* Library::NativeWrappersLibrary() {
return Isolate::Current()->object_store()->native_wrappers_library();
}
-
RawLibrary* Library::ProfilerLibrary() {
return Isolate::Current()->object_store()->profiler_library();
}
-
RawLibrary* Library::TypedDataLibrary() {
return Isolate::Current()->object_store()->typed_data_library();
}
-
RawLibrary* Library::VMServiceLibrary() {
return Isolate::Current()->object_store()->_vmservice_library();
}
-
const char* Library::ToCString() const {
const String& name = String::Handle(url());
return OS::SCreate(Thread::Current()->zone(), "Library:'%s'",
name.ToCString());
}
-
RawLibrary* LibraryPrefix::GetLibrary(int index) const {
if ((index >= 0) || (index < num_imports())) {
const Array& imports = Array::Handle(this->imports());
@@ -11608,7 +11013,6 @@ RawLibrary* LibraryPrefix::GetLibrary(int index) const {
return Library::null();
}
-
RawInstance* LibraryPrefix::LoadError() const {
Thread* thread = Thread::Current();
Isolate* isolate = thread->isolate();
@@ -11634,7 +11038,6 @@ RawInstance* LibraryPrefix::LoadError() const {
return error.raw();
}
-
bool LibraryPrefix::ContainsLibrary(const Library& library) const {
int32_t num_current_imports = num_imports();
if (num_current_imports > 0) {
@@ -11653,7 +11056,6 @@ bool LibraryPrefix::ContainsLibrary(const Library& library) const {
return false;
}
-
void LibraryPrefix::AddImport(const Namespace& import) const {
intptr_t num_current_imports = num_imports();
@@ -11673,7 +11075,6 @@ void LibraryPrefix::AddImport(const Namespace& import) const {
set_num_imports(num_current_imports + 1);
}
-
RawObject* LibraryPrefix::LookupObject(const String& name) const {
if (!is_loaded() && !FLAG_load_deferred_eagerly) {
return Object::null();
@@ -11738,7 +11139,6 @@ RawObject* LibraryPrefix::LookupObject(const String& name) const {
return found_obj.raw();
}
-
RawClass* LibraryPrefix::LookupClass(const String& class_name) const {
const Object& obj = Object::Handle(LookupObject(class_name));
if (obj.IsClass()) {
@@ -11747,12 +11147,10 @@ RawClass* LibraryPrefix::LookupClass(const String& class_name) const {
return Class::null();
}
-
void LibraryPrefix::set_is_loaded() const {
StoreNonPointer(&raw_ptr()->is_loaded_, true);
}
-
bool LibraryPrefix::LoadLibrary() const {
// Non-deferred prefixes are loaded.
ASSERT(is_deferred_load() || is_loaded());
@@ -11806,17 +11204,14 @@ bool LibraryPrefix::LoadLibrary() const {
return false; // Load request not yet completed.
}
-
RawArray* LibraryPrefix::dependent_code() const {
return raw_ptr()->dependent_code_;
}
-
void LibraryPrefix::set_dependent_code(const Array& array) const {
StorePointer(&raw_ptr()->dependent_code_, array.raw());
}
-
class PrefixDependentArray : public WeakCodeReferences {
public:
explicit PrefixDependentArray(const LibraryPrefix& prefix)
@@ -11850,7 +11245,6 @@ class PrefixDependentArray : public WeakCodeReferences {
DISALLOW_COPY_AND_ASSIGN(PrefixDependentArray);
};
-
void LibraryPrefix::RegisterDependentCode(const Code& code) const {
ASSERT(is_deferred_load());
// In background compilation, a library can be loaded while we are compiling.
@@ -11860,21 +11254,18 @@ void LibraryPrefix::RegisterDependentCode(const Code& code) const {
a.Register(code);
}
-
void LibraryPrefix::InvalidateDependentCode() const {
PrefixDependentArray a(*this);
a.DisableCode();
set_is_loaded();
}
-
RawLibraryPrefix* LibraryPrefix::New() {
RawObject* raw = Object::Allocate(LibraryPrefix::kClassId,
LibraryPrefix::InstanceSize(), Heap::kOld);
return reinterpret_cast<RawLibraryPrefix*>(raw);
}
-
RawLibraryPrefix* LibraryPrefix::New(const String& name,
const Namespace& import,
bool deferred_load,
@@ -11890,18 +11281,15 @@ RawLibraryPrefix* LibraryPrefix::New(const String& name,
return result.raw();
}
-
void LibraryPrefix::set_name(const String& value) const {
ASSERT(value.IsSymbol());
StorePointer(&raw_ptr()->name_, value.raw());
}
-
void LibraryPrefix::set_imports(const Array& value) const {
StorePointer(&raw_ptr()->imports_, value.raw());
}
-
void LibraryPrefix::set_num_imports(intptr_t value) const {
if (!Utils::IsUint(16, value)) {
ReportTooManyImports(Library::Handle(importer()));
@@ -11909,24 +11297,20 @@ void LibraryPrefix::set_num_imports(intptr_t value) const {
StoreNonPointer(&raw_ptr()->num_imports_, value);
}
-
void LibraryPrefix::set_importer(const Library& value) const {
StorePointer(&raw_ptr()->importer_, value.raw());
}
-
const char* LibraryPrefix::ToCString() const {
const String& prefix = String::Handle(name());
return OS::SCreate(Thread::Current()->zone(), "LibraryPrefix:'%s'",
prefix.ToCString());
}
-
void Namespace::set_metadata_field(const Field& value) const {
StorePointer(&raw_ptr()->metadata_field_, value.raw());
}
-
void Namespace::AddMetadata(const Object& owner, TokenPosition token_pos) {
ASSERT(Field::Handle(metadata_field()).IsNull());
Field& field = Field::Handle(Field::NewTopLevel(Symbols::TopLevel(),
@@ -11939,7 +11323,6 @@ void Namespace::AddMetadata(const Object& owner, TokenPosition token_pos) {
set_metadata_field(field);
}
-
RawObject* Namespace::GetMetadata() const {
#if defined(DART_PRECOMPILED_RUNTIME)
COMPILE_ASSERT(!FLAG_enable_mirrors);
@@ -11963,14 +11346,12 @@ RawObject* Namespace::GetMetadata() const {
#endif // defined(DART_PRECOMPILED_RUNTIME)
}
-
const char* Namespace::ToCString() const {
const Library& lib = Library::Handle(library());
return OS::SCreate(Thread::Current()->zone(), "Namespace for library '%s'",
lib.ToCString());
}
-
bool Namespace::HidesName(const String& name) const {
// Quick check for common case with no combinators.
if (hide_names() == show_names()) {
@@ -12015,7 +11396,6 @@ bool Namespace::HidesName(const String& name) const {
return false;
}
-
// Look up object with given name in library and filter out hidden
// names. Also look up getters and setters.
RawObject* Namespace::Lookup(const String& name,
@@ -12073,7 +11453,6 @@ RawObject* Namespace::Lookup(const String& name,
return obj.raw();
}
-
RawNamespace* Namespace::New() {
ASSERT(Object::namespace_class() != Class::null());
RawObject* raw = Object::Allocate(Namespace::kClassId,
@@ -12081,7 +11460,6 @@ RawNamespace* Namespace::New() {
return reinterpret_cast<RawNamespace*>(raw);
}
-
RawNamespace* Namespace::New(const Library& library,
const Array& show_names,
const Array& hide_names) {
@@ -12094,7 +11472,6 @@ RawNamespace* Namespace::New(const Library& library,
return result.raw();
}
-
RawError* Library::CompileAll() {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -12140,7 +11517,6 @@ RawError* Library::CompileAll() {
return Error::null();
}
-
RawError* Library::ParseAll(Thread* thread) {
Zone* zone = thread->zone();
Error& error = Error::Handle(zone);
@@ -12185,7 +11561,6 @@ RawError* Library::ParseAll(Thread* thread) {
return error.raw();
}
-
// Return Function::null() if function does not exist in libs.
RawFunction* Library::GetFunction(const GrowableArray<Library*>& libs,
const char* class_name,
@@ -12219,7 +11594,6 @@ RawFunction* Library::GetFunction(const GrowableArray<Library*>& libs,
return Function::null();
}
-
RawObject* Library::GetFunctionClosure(const String& name) const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -12245,7 +11619,6 @@ RawObject* Library::GetFunctionClosure(const String& name) const {
return func.ImplicitStaticClosure();
}
-
#if defined(DART_NO_SNAPSHOT) && !defined(PRODUCT)
void Library::CheckFunctionFingerprints() {
GrowableArray<Library*> all_libs;
@@ -12292,7 +11665,6 @@ void Library::CheckFunctionFingerprints() {
#undef CHECK_FINGERPRINTS
#undef CHECK_FINGERPRINTS2
-
#define CHECK_FACTORY_FINGERPRINTS(symbol, class_name, factory_name, cid, fp) \
func = GetFunction(all_libs, #class_name, #factory_name); \
if (func.IsNull()) { \
@@ -12313,7 +11685,6 @@ void Library::CheckFunctionFingerprints() {
}
#endif // defined(DART_NO_SNAPSHOT) && !defined(PRODUCT).
-
RawInstructions* Instructions::New(intptr_t size, bool has_single_entry_point) {
ASSERT(size >= 0);
ASSERT(Object::instructions_class() != Class::null());
@@ -12334,12 +11705,10 @@ RawInstructions* Instructions::New(intptr_t size, bool has_single_entry_point) {
return result.raw();
}
-
const char* Instructions::ToCString() const {
return "Instructions";
}
-
// Encode integer |value| in SLEB128 format and store into |data|.
static void EncodeSLEB128(GrowableArray<uint8_t>* data, intptr_t value) {
bool is_last_part = false;
@@ -12356,7 +11725,6 @@ static void EncodeSLEB128(GrowableArray<uint8_t>* data, intptr_t value) {
}
}
-
// Decode integer in SLEB128 format from |data| and update |byte_index|.
static intptr_t DecodeSLEB128(const uint8_t* data,
const intptr_t data_length,
@@ -12377,14 +11745,12 @@ static intptr_t DecodeSLEB128(const uint8_t* data,
return value;
}
-
// Encode integer in SLEB128 format.
void PcDescriptors::EncodeInteger(GrowableArray<uint8_t>* data,
intptr_t value) {
return EncodeSLEB128(data, value);
}
-
// Decode SLEB128 encoded integer. Update byte_index to the next integer.
intptr_t PcDescriptors::DecodeInteger(intptr_t* byte_index) const {
NoSafepointScope no_safepoint;
@@ -12392,7 +11758,6 @@ intptr_t PcDescriptors::DecodeInteger(intptr_t* byte_index) const {
return DecodeSLEB128(data, Length(), byte_index);
}
-
RawObjectPool* ObjectPool::New(intptr_t len) {
ASSERT(Object::object_pool_class() != Class::null());
if (len < 0 || len > kMaxElements) {
@@ -12416,24 +11781,20 @@ RawObjectPool* ObjectPool::New(intptr_t len) {
return result.raw();
}
-
void ObjectPool::set_info_array(const TypedData& info_array) const {
StorePointer(&raw_ptr()->info_array_, info_array.raw());
}
-
ObjectPool::EntryType ObjectPool::InfoAt(intptr_t index) const {
ObjectPoolInfo pool_info(*this);
return pool_info.InfoAt(index);
}
-
const char* ObjectPool::ToCString() const {
Zone* zone = Thread::Current()->zone();
return zone->PrintToString("ObjectPool len:%" Pd, Length());
}
-
void ObjectPool::DebugPrint() const {
THR_Print("Object Pool: 0x%" Px "{\n", reinterpret_cast<uword>(raw()));
for (intptr_t i = 0; i < Length(); i++) {
@@ -12452,17 +11813,14 @@ void ObjectPool::DebugPrint() const {
THR_Print("}\n");
}
-
intptr_t PcDescriptors::Length() const {
return raw_ptr()->length_;
}
-
void PcDescriptors::SetLength(intptr_t value) const {
StoreNonPointer(&raw_ptr()->length_, value);
}
-
void PcDescriptors::CopyData(GrowableArray<uint8_t>* delta_encoded_data) {
NoSafepointScope no_safepoint;
uint8_t* data = UnsafeMutableNonPointer(&raw_ptr()->data()[0]);
@@ -12471,7 +11829,6 @@ void PcDescriptors::CopyData(GrowableArray<uint8_t>* delta_encoded_data) {
}
}
-
RawPcDescriptors* PcDescriptors::New(GrowableArray<uint8_t>* data) {
ASSERT(Object::pc_descriptors_class() != Class::null());
Thread* thread = Thread::Current();
@@ -12490,7 +11847,6 @@ RawPcDescriptors* PcDescriptors::New(GrowableArray<uint8_t>* data) {
return result.raw();
}
-
RawPcDescriptors* PcDescriptors::New(intptr_t length) {
ASSERT(Object::pc_descriptors_class() != Class::null());
Thread* thread = Thread::Current();
@@ -12508,7 +11864,6 @@ RawPcDescriptors* PcDescriptors::New(intptr_t length) {
return result.raw();
}
-
const char* PcDescriptors::KindAsStr(RawPcDescriptors::Kind kind) {
switch (kind) {
case RawPcDescriptors::kDeopt:
@@ -12533,7 +11888,6 @@ const char* PcDescriptors::KindAsStr(RawPcDescriptors::Kind kind) {
return "";
}
-
void PcDescriptors::PrintHeaderString() {
// 4 bits per hex digit + 2 for "0x".
const int addr_width = (kBitsPerWord / 4) + 2;
@@ -12542,7 +11896,6 @@ void PcDescriptors::PrintHeaderString() {
THR_Print("%-*s\tkind \tdeopt-id\ttok-ix\ttry-ix\n", addr_width, "pc");
}
-
const char* PcDescriptors::ToCString() const {
// "*" in a printf format specifier tells it to read the field width from
// the printf argument list.
@@ -12577,7 +11930,6 @@ const char* PcDescriptors::ToCString() const {
#undef FORMAT
}
-
// Verify assumptions (in debug mode only).
// - No two deopt descriptors have the same deoptimization id.
// - No two ic-call descriptors have the same deoptimization id (type feedback).
@@ -12621,12 +11973,10 @@ void PcDescriptors::Verify(const Function& function) const {
#endif // DEBUG
}
-
void CodeSourceMap::SetLength(intptr_t value) const {
StoreNonPointer(&raw_ptr()->length_, value);
}
-
RawCodeSourceMap* CodeSourceMap::New(intptr_t length) {
ASSERT(Object::code_source_map_class() != Class::null());
Thread* thread = Thread::Current();
@@ -12642,12 +11992,10 @@ RawCodeSourceMap* CodeSourceMap::New(intptr_t length) {
return result.raw();
}
-
const char* CodeSourceMap::ToCString() const {
return "CodeSourceMap";
}
-
bool StackMap::GetBit(intptr_t bit_index) const {
ASSERT(InRange(bit_index));
int byte_index = bit_index >> kBitsPerByteLog2;
@@ -12657,7 +12005,6 @@ bool StackMap::GetBit(intptr_t bit_index) const {
return (byte & byte_mask);
}
-
void StackMap::SetBit(intptr_t bit_index, bool value) const {
ASSERT(InRange(bit_index));
int byte_index = bit_index >> kBitsPerByteLog2;
@@ -12672,7 +12019,6 @@ void StackMap::SetBit(intptr_t bit_index, bool value) const {
}
}
-
RawStackMap* StackMap::New(intptr_t pc_offset,
BitmapBuilder* bmap,
intptr_t slow_path_bit_count) {
@@ -12707,7 +12053,6 @@ RawStackMap* StackMap::New(intptr_t pc_offset,
return result.raw();
}
-
RawStackMap* StackMap::New(intptr_t length,
intptr_t slow_path_bit_count,
intptr_t pc_offset) {
@@ -12737,7 +12082,6 @@ RawStackMap* StackMap::New(intptr_t length,
return result.raw();
}
-
const char* StackMap::ToCString() const {
#define FORMAT "%#05x: "
if (IsNull()) {
@@ -12764,14 +12108,12 @@ const char* StackMap::ToCString() const {
#undef FORMAT
}
-
RawString* LocalVarDescriptors::GetName(intptr_t var_index) const {
ASSERT(var_index < Length());
ASSERT(Object::Handle(*raw()->nameAddrAt(var_index)).IsString());
return *raw()->nameAddrAt(var_index);
}
-
void LocalVarDescriptors::SetVar(intptr_t var_index,
const String& name,
RawLocalVarDescriptors::VarInfo* info) const {
@@ -12781,14 +12123,12 @@ void LocalVarDescriptors::SetVar(intptr_t var_index,
raw()->data()[var_index] = *info;
}
-
void LocalVarDescriptors::GetInfo(intptr_t var_index,
RawLocalVarDescriptors::VarInfo* info) const {
ASSERT(var_index < Length());
*info = raw()->data()[var_index];
}
-
static int PrintVarInfo(char* buffer,
int len,
intptr_t i,
@@ -12806,24 +12146,25 @@ static int PrintVarInfo(char* buffer,
static_cast<int>(info.end_pos.value()));
} else if (kind == RawLocalVarDescriptors::kContextVar) {
return OS::SNPrint(
- buffer, len, "%2" Pd
- " %-13s level=%-3d index=%-3d"
- " begin=%-3d end=%-3d name=%s\n",
+ buffer, len,
+ "%2" Pd
+ " %-13s level=%-3d index=%-3d"
+ " begin=%-3d end=%-3d name=%s\n",
i, LocalVarDescriptors::KindToCString(kind), info.scope_id, index,
static_cast<int>(info.begin_pos.Pos()),
static_cast<int>(info.end_pos.Pos()), var_name.ToCString());
} else {
return OS::SNPrint(
- buffer, len, "%2" Pd
- " %-13s scope=%-3d index=%-3d"
- " begin=%-3d end=%-3d name=%s\n",
+ buffer, len,
+ "%2" Pd
+ " %-13s scope=%-3d index=%-3d"
+ " begin=%-3d end=%-3d name=%s\n",
i, LocalVarDescriptors::KindToCString(kind), info.scope_id, index,
static_cast<int>(info.begin_pos.Pos()),
static_cast<int>(info.end_pos.Pos()), var_name.ToCString());
}
}
-
const char* LocalVarDescriptors::ToCString() const {
if (IsNull()) {
return "LocalVarDescriptors: null";
@@ -12852,7 +12193,6 @@ const char* LocalVarDescriptors::ToCString() const {
return buffer;
}
-
const char* LocalVarDescriptors::KindToCString(
RawLocalVarDescriptors::VarInfoKind kind) {
switch (kind) {
@@ -12893,17 +12233,14 @@ RawLocalVarDescriptors* LocalVarDescriptors::New(intptr_t num_variables) {
return result.raw();
}
-
intptr_t LocalVarDescriptors::Length() const {
return raw_ptr()->num_entries_;
}
-
intptr_t ExceptionHandlers::num_entries() const {
return raw_ptr()->num_entries_;
}
-
void ExceptionHandlers::SetHandlerInfo(intptr_t try_index,
intptr_t outer_try_index,
uword handler_pc_offset,
@@ -12933,37 +12270,31 @@ void ExceptionHandlers::GetHandlerInfo(intptr_t try_index,
*info = raw_ptr()->data()[try_index];
}
-
uword ExceptionHandlers::HandlerPCOffset(intptr_t try_index) const {
ASSERT((try_index >= 0) && (try_index < num_entries()));
return raw_ptr()->data()[try_index].handler_pc_offset;
}
-
intptr_t ExceptionHandlers::OuterTryIndex(intptr_t try_index) const {
ASSERT((try_index >= 0) && (try_index < num_entries()));
return raw_ptr()->data()[try_index].outer_try_index;
}
-
bool ExceptionHandlers::NeedsStackTrace(intptr_t try_index) const {
ASSERT((try_index >= 0) && (try_index < num_entries()));
return raw_ptr()->data()[try_index].needs_stacktrace;
}
-
bool ExceptionHandlers::IsGenerated(intptr_t try_index) const {
ASSERT((try_index >= 0) && (try_index < num_entries()));
return raw_ptr()->data()[try_index].is_generated;
}
-
bool ExceptionHandlers::HasCatchAll(intptr_t try_index) const {
ASSERT((try_index >= 0) && (try_index < num_entries()));
return raw_ptr()->data()[try_index].has_catch_all;
}
-
void ExceptionHandlers::SetHandledTypes(intptr_t try_index,
const Array& handled_types) const {
ASSERT((try_index >= 0) && (try_index < num_entries()));
@@ -12973,7 +12304,6 @@ void ExceptionHandlers::SetHandledTypes(intptr_t try_index,
handled_types_data.SetAt(try_index, handled_types);
}
-
RawArray* ExceptionHandlers::GetHandledTypes(intptr_t try_index) const {
ASSERT((try_index >= 0) && (try_index < num_entries()));
Array& array = Array::Handle(raw_ptr()->handled_types_data_);
@@ -12981,12 +12311,10 @@ RawArray* ExceptionHandlers::GetHandledTypes(intptr_t try_index) const {
return array.raw();
}
-
void ExceptionHandlers::set_handled_types_data(const Array& value) const {
StorePointer(&raw_ptr()->handled_types_data_, value.raw());
}
-
RawExceptionHandlers* ExceptionHandlers::New(intptr_t num_handlers) {
ASSERT(Object::exception_handlers_class() != Class::null());
if ((num_handlers < 0) || (num_handlers >= kMaxHandlers)) {
@@ -13011,7 +12339,6 @@ RawExceptionHandlers* ExceptionHandlers::New(intptr_t num_handlers) {
return result.raw();
}
-
RawExceptionHandlers* ExceptionHandlers::New(const Array& handled_types_data) {
ASSERT(Object::exception_handlers_class() != Class::null());
const intptr_t num_handlers = handled_types_data.Length();
@@ -13034,7 +12361,6 @@ RawExceptionHandlers* ExceptionHandlers::New(const Array& handled_types_data) {
return result.raw();
}
-
const char* ExceptionHandlers::ToCString() const {
#define FORMAT1 "%" Pd " => %#x (%" Pd " types) (outer %d) %s\n"
#define FORMAT2 " %d. %s\n"
@@ -13084,17 +12410,14 @@ const char* ExceptionHandlers::ToCString() const {
#undef FORMAT2
}
-
void SingleTargetCache::set_target(const Code& value) const {
StorePointer(&raw_ptr()->target_, value.raw());
}
-
const char* SingleTargetCache::ToCString() const {
return "SingleTargetCache";
}
-
RawSingleTargetCache* SingleTargetCache::New() {
SingleTargetCache& result = SingleTargetCache::Handle();
{
@@ -13112,35 +12435,29 @@ RawSingleTargetCache* SingleTargetCache::New() {
return result.raw();
}
-
void UnlinkedCall::set_target_name(const String& value) const {
StorePointer(&raw_ptr()->target_name_, value.raw());
}
-
void UnlinkedCall::set_args_descriptor(const Array& value) const {
StorePointer(&raw_ptr()->args_descriptor_, value.raw());
}
-
const char* UnlinkedCall::ToCString() const {
return "UnlinkedCall";
}
-
RawUnlinkedCall* UnlinkedCall::New() {
RawObject* raw = Object::Allocate(UnlinkedCall::kClassId,
UnlinkedCall::InstanceSize(), Heap::kOld);
return reinterpret_cast<RawUnlinkedCall*>(raw);
}
-
void ICData::ResetSwitchable(Zone* zone) const {
ASSERT(NumArgsTested() == 1);
set_ic_data_array(Array::Handle(zone, CachedEmptyICDataArray(1)));
}
-
const char* ICData::ToCString() const {
const String& name = String::Handle(target_name());
const intptr_t num_args = NumArgsTested();
@@ -13152,7 +12469,6 @@ const char* ICData::ToCString() const {
name.ToCString(), num_args, num_checks, type_args_len);
}
-
RawFunction* ICData::Owner() const {
Object& obj = Object::Handle(raw_ptr()->owner_);
if (obj.IsNull()) {
@@ -13167,7 +12483,6 @@ RawFunction* ICData::Owner() const {
}
}
-
RawICData* ICData::Original() const {
if (IsNull()) {
return ICData::null();
@@ -13180,31 +12495,26 @@ RawICData* ICData::Original() const {
}
}
-
void ICData::SetOriginal(const ICData& value) const {
ASSERT(value.IsOriginal());
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->owner_, reinterpret_cast<RawObject*>(value.raw()));
}
-
void ICData::set_owner(const Function& value) const {
StorePointer(&raw_ptr()->owner_, reinterpret_cast<RawObject*>(value.raw()));
}
-
void ICData::set_target_name(const String& value) const {
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->target_name_, value.raw());
}
-
void ICData::set_arguments_descriptor(const Array& value) const {
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->args_descriptor_, value.raw());
}
-
void ICData::set_deopt_id(intptr_t value) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -13214,13 +12524,11 @@ void ICData::set_deopt_id(intptr_t value) const {
#endif
}
-
void ICData::set_ic_data_array(const Array& value) const {
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->ic_data_, value.raw());
}
-
#if defined(TAG_IC_DATA)
void ICData::set_tag(intptr_t value) const {
StoreNonPointer(&raw_ptr()->tag_, value);
@@ -13231,75 +12539,62 @@ intptr_t ICData::NumArgsTested() const {
return NumArgsTestedBits::decode(raw_ptr()->state_bits_);
}
-
intptr_t ICData::TypeArgsLen() const {
ArgumentsDescriptor args_desc(Array::Handle(arguments_descriptor()));
return args_desc.TypeArgsLen();
}
-
void ICData::SetNumArgsTested(intptr_t value) const {
ASSERT(Utils::IsUint(2, value));
StoreNonPointer(&raw_ptr()->state_bits_,
NumArgsTestedBits::update(value, raw_ptr()->state_bits_));
}
-
uint32_t ICData::DeoptReasons() const {
return DeoptReasonBits::decode(raw_ptr()->state_bits_);
}
-
void ICData::SetDeoptReasons(uint32_t reasons) const {
StoreNonPointer(&raw_ptr()->state_bits_,
DeoptReasonBits::update(reasons, raw_ptr()->state_bits_));
}
-
bool ICData::HasDeoptReason(DeoptReasonId reason) const {
ASSERT(reason <= kLastRecordedDeoptReason);
return (DeoptReasons() & (1 << reason)) != 0;
}
-
void ICData::AddDeoptReason(DeoptReasonId reason) const {
if (reason <= kLastRecordedDeoptReason) {
SetDeoptReasons(DeoptReasons() | (1 << reason));
}
}
-
void ICData::SetIsStaticCall(bool static_call) const {
StoreNonPointer(&raw_ptr()->state_bits_,
StaticCallBit::update(static_call, raw_ptr()->state_bits_));
}
-
bool ICData::is_static_call() const {
return StaticCallBit::decode(raw_ptr()->state_bits_);
}
-
void ICData::set_state_bits(uint32_t bits) const {
StoreNonPointer(&raw_ptr()->state_bits_, bits);
}
-
intptr_t ICData::TestEntryLengthFor(intptr_t num_args) {
return num_args + 1 /* target function*/ + 1 /* frequency */;
}
-
intptr_t ICData::TestEntryLength() const {
return TestEntryLengthFor(NumArgsTested());
}
-
intptr_t ICData::Length() const {
return (Smi::Value(ic_data()->ptr()->length_) / TestEntryLength());
}
-
intptr_t ICData::NumberOfChecks() const {
const intptr_t length = Length();
for (intptr_t i = 0; i < length; i++) {
@@ -13311,7 +12606,6 @@ intptr_t ICData::NumberOfChecks() const {
return -1;
}
-
bool ICData::NumberOfChecksIs(intptr_t n) const {
const intptr_t length = Length();
for (intptr_t i = 0; i < length; i++) {
@@ -13324,7 +12618,6 @@ bool ICData::NumberOfChecksIs(intptr_t n) const {
return n == length;
}
-
// Discounts any checks with usage of zero.
intptr_t ICData::NumberOfUsedChecks() const {
intptr_t n = NumberOfChecks();
@@ -13340,7 +12633,6 @@ intptr_t ICData::NumberOfUsedChecks() const {
return count;
}
-
void ICData::WriteSentinel(const Array& data, intptr_t test_entry_length) {
ASSERT(!data.IsNull());
for (intptr_t i = 1; i <= test_entry_length; i++) {
@@ -13348,7 +12640,6 @@ void ICData::WriteSentinel(const Array& data, intptr_t test_entry_length) {
}
}
-
#if defined(DEBUG)
// Used in asserts to verify that a check is not added twice.
bool ICData::HasCheck(const GrowableArray<intptr_t>& cids) const {
@@ -13372,7 +12663,6 @@ bool ICData::HasCheck(const GrowableArray<intptr_t>& cids) const {
}
#endif // DEBUG
-
void ICData::WriteSentinelAt(intptr_t index) const {
const intptr_t len = Length();
ASSERT(index >= 0);
@@ -13385,14 +12675,12 @@ void ICData::WriteSentinelAt(intptr_t index) const {
}
}
-
void ICData::ClearCountAt(intptr_t index) const {
ASSERT(index >= 0);
ASSERT(index < NumberOfChecks());
SetCountAt(index, 0);
}
-
void ICData::ClearWithSentinel() const {
if (IsImmutable()) {
return;
@@ -13432,7 +12720,6 @@ void ICData::ClearWithSentinel() const {
WriteSentinelAt(0);
}
-
void ICData::ClearAndSetStaticTarget(const Function& func) const {
if (IsImmutable()) {
return;
@@ -13476,7 +12763,6 @@ void ICData::ClearAndSetStaticTarget(const Function& func) const {
}
}
-
// Add an initial Smi/Smi check with count 0.
bool ICData::AddSmiSmiCheckForFastSmiStubs() const {
bool is_smi_two_args_op = false;
@@ -13507,7 +12793,6 @@ bool ICData::AddSmiSmiCheckForFastSmiStubs() const {
return is_smi_two_args_op;
}
-
// Used for unoptimized static calls when no class-ids are checked.
void ICData::AddTarget(const Function& target) const {
ASSERT(!target.IsNull());
@@ -13544,7 +12829,6 @@ void ICData::AddTarget(const Function& target) const {
set_ic_data_array(data);
}
-
bool ICData::ValidateInterceptor(const Function& target) const {
ObjectStore* store = Isolate::Current()->object_store();
ASSERT((target.raw() == store->simple_instance_of_true_function()) ||
@@ -13608,7 +12892,6 @@ void ICData::AddCheck(const GrowableArray<intptr_t>& class_ids,
set_ic_data_array(data);
}
-
RawArray* ICData::FindFreeIndex(intptr_t* index) const {
// The final entry is always the sentinel value, don't consider it
// when searching.
@@ -13635,7 +12918,6 @@ RawArray* ICData::FindFreeIndex(intptr_t* index) const {
return data.raw();
}
-
void ICData::DebugDump() const {
const Function& owner = Function::Handle(Owner());
THR_Print("ICData::DebugDump\n");
@@ -13655,7 +12937,6 @@ void ICData::DebugDump() const {
}
}
-
void ICData::AddReceiverCheck(intptr_t receiver_class_id,
const Function& target,
intptr_t count) const {
@@ -13698,7 +12979,6 @@ void ICData::AddReceiverCheck(intptr_t receiver_class_id,
set_ic_data_array(data);
}
-
void ICData::GetCheckAt(intptr_t index,
GrowableArray<intptr_t>* class_ids,
Function* target) const {
@@ -13714,7 +12994,6 @@ void ICData::GetCheckAt(intptr_t index,
(*target) ^= data.At(data_pos++);
}
-
bool ICData::IsSentinelAt(intptr_t index) const {
ASSERT(index < Length());
const Array& data = Array::Handle(ic_data());
@@ -13729,7 +13008,6 @@ bool ICData::IsSentinelAt(intptr_t index) const {
return true;
}
-
void ICData::GetClassIdsAt(intptr_t index,
GrowableArray<intptr_t>* class_ids) const {
ASSERT(index < Length());
@@ -13743,7 +13021,6 @@ void ICData::GetClassIdsAt(intptr_t index,
}
}
-
void ICData::GetOneClassCheckAt(intptr_t index,
intptr_t* class_id,
Function* target) const {
@@ -13756,7 +13033,6 @@ void ICData::GetOneClassCheckAt(intptr_t index,
*target ^= data.At(data_pos + 1);
}
-
intptr_t ICData::GetCidAt(intptr_t index) const {
ASSERT(NumArgsTested() == 1);
const Array& data = Array::Handle(ic_data());
@@ -13764,14 +13040,12 @@ intptr_t ICData::GetCidAt(intptr_t index) const {
return Smi::Value(Smi::RawCast(data.At(data_pos)));
}
-
intptr_t ICData::GetClassIdAt(intptr_t index, intptr_t arg_nr) const {
GrowableArray<intptr_t> class_ids;
GetClassIdsAt(index, &class_ids);
return class_ids[arg_nr];
}
-
intptr_t ICData::GetReceiverClassIdAt(intptr_t index) const {
ASSERT(index < Length());
ASSERT(!IsSentinelAt(index));
@@ -13781,7 +13055,6 @@ intptr_t ICData::GetReceiverClassIdAt(intptr_t index) const {
return Smi::Value(Smi::RawCast(raw_data->ptr()->data()[data_pos]));
}
-
RawFunction* ICData::GetTargetAt(intptr_t index) const {
ASSERT(Isolate::Current()->compilation_allowed());
const intptr_t data_pos = index * TestEntryLength() + NumArgsTested();
@@ -13792,7 +13065,6 @@ RawFunction* ICData::GetTargetAt(intptr_t index) const {
return reinterpret_cast<RawFunction*>(raw_data->ptr()->data()[data_pos]);
}
-
RawObject* ICData::GetTargetOrCodeAt(intptr_t index) const {
const intptr_t data_pos = index * TestEntryLength() + NumArgsTested();
@@ -13801,14 +13073,12 @@ RawObject* ICData::GetTargetOrCodeAt(intptr_t index) const {
return raw_data->ptr()->data()[data_pos];
}
-
void ICData::IncrementCountAt(intptr_t index, intptr_t value) const {
ASSERT(0 <= value);
ASSERT(value <= Smi::kMaxValue);
SetCountAt(index, Utils::Minimum(GetCountAt(index) + value, Smi::kMaxValue));
}
-
void ICData::SetCountAt(intptr_t index, intptr_t value) const {
ASSERT(0 <= value);
ASSERT(value <= Smi::kMaxValue);
@@ -13819,7 +13089,6 @@ void ICData::SetCountAt(intptr_t index, intptr_t value) const {
data.SetAt(data_pos, Smi::Handle(Smi::New(value)));
}
-
intptr_t ICData::GetCountAt(intptr_t index) const {
ASSERT(Isolate::Current()->compilation_allowed());
const Array& data = Array::Handle(ic_data());
@@ -13834,7 +13103,6 @@ intptr_t ICData::GetCountAt(intptr_t index) const {
return 0;
}
-
intptr_t ICData::AggregateCount() const {
if (IsNull()) return 0;
const intptr_t len = NumberOfChecks();
@@ -13845,7 +13113,6 @@ intptr_t ICData::AggregateCount() const {
return count;
}
-
void ICData::SetCodeAt(intptr_t index, const Code& value) const {
ASSERT(!Isolate::Current()->compilation_allowed());
const Array& data = Array::Handle(ic_data());
@@ -13854,7 +13121,6 @@ void ICData::SetCodeAt(intptr_t index, const Code& value) const {
data.SetAt(data_pos, value);
}
-
void ICData::SetEntryPointAt(intptr_t index, const Smi& value) const {
ASSERT(!Isolate::Current()->compilation_allowed());
const Array& data = Array::Handle(ic_data());
@@ -13863,7 +13129,6 @@ void ICData::SetEntryPointAt(intptr_t index, const Smi& value) const {
data.SetAt(data_pos, value);
}
-
RawFunction* ICData::GetTargetForReceiverClassId(intptr_t class_id,
intptr_t* count_return) const {
const intptr_t len = NumberOfChecks();
@@ -13876,7 +13141,6 @@ RawFunction* ICData::GetTargetForReceiverClassId(intptr_t class_id,
return Function::null();
}
-
RawICData* ICData::AsUnaryClassChecksForCid(intptr_t cid,
const Function& target) const {
ASSERT(!IsNull());
@@ -13888,7 +13152,6 @@ RawICData* ICData::AsUnaryClassChecksForCid(intptr_t cid,
return result.raw();
}
-
RawICData* ICData::AsUnaryClassChecksForArgNr(intptr_t arg_nr) const {
ASSERT(!IsNull());
ASSERT(NumArgsTested() > arg_nr);
@@ -13928,7 +13191,6 @@ RawICData* ICData::AsUnaryClassChecksForArgNr(intptr_t arg_nr) const {
return result.raw();
}
-
// (cid, count) tuple used to sort ICData by count.
struct CidCount {
CidCount(intptr_t cid_, intptr_t count_, Function* f_)
@@ -13941,7 +13203,6 @@ struct CidCount {
Function* function;
};
-
int CidCount::HighestCountFirst(const CidCount* a, const CidCount* b) {
if (a->count > b->count) {
return -1;
@@ -13949,7 +13210,6 @@ int CidCount::HighestCountFirst(const CidCount* a, const CidCount* b) {
return (a->count < b->count) ? 1 : 0;
}
-
RawICData* ICData::AsUnaryClassChecksSortedByCount() const {
ASSERT(!IsNull());
const intptr_t kNumArgsTested = 1;
@@ -14002,7 +13262,6 @@ RawICData* ICData::AsUnaryClassChecksSortedByCount() const {
return result.raw();
}
-
bool ICData::AllTargetsHaveSameOwner(intptr_t owner_cid) const {
if (NumberOfChecksIs(0)) return false;
Class& cls = Class::Handle();
@@ -14018,7 +13277,6 @@ bool ICData::AllTargetsHaveSameOwner(intptr_t owner_cid) const {
return true;
}
-
bool ICData::HasReceiverClassId(intptr_t class_id) const {
ASSERT(NumArgsTested() > 0);
const intptr_t len = NumberOfChecks();
@@ -14033,7 +13291,6 @@ bool ICData::HasReceiverClassId(intptr_t class_id) const {
return false;
}
-
// Returns true if all targets are the same.
// TODO(srdjan): if targets are native use their C_function to compare.
bool ICData::HasOneTarget() const {
@@ -14048,7 +13305,6 @@ bool ICData::HasOneTarget() const {
return true;
}
-
void ICData::GetUsedCidsForTwoArgs(GrowableArray<intptr_t>* first,
GrowableArray<intptr_t>* second) const {
ASSERT(NumArgsTested() == 2);
@@ -14066,7 +13322,6 @@ void ICData::GetUsedCidsForTwoArgs(GrowableArray<intptr_t>* first,
}
}
-
bool ICData::IsUsedAt(intptr_t i) const {
if (GetCountAt(i) <= 0) {
// Do not mistake unoptimized static call ICData for unused.
@@ -14083,14 +13338,12 @@ bool ICData::IsUsedAt(intptr_t i) const {
return true;
}
-
void ICData::InitOnce() {
for (int i = 0; i < kCachedICDataArrayCount; i++) {
cached_icdata_arrays_[i] = ICData::NewNonCachedEmptyICDataArray(i);
}
}
-
RawArray* ICData::NewNonCachedEmptyICDataArray(intptr_t num_args_tested) {
// IC data array must be null terminated (sentinel entry).
const intptr_t len = TestEntryLengthFor(num_args_tested);
@@ -14100,14 +13353,12 @@ RawArray* ICData::NewNonCachedEmptyICDataArray(intptr_t num_args_tested) {
return array.raw();
}
-
RawArray* ICData::CachedEmptyICDataArray(intptr_t num_args_tested) {
ASSERT(num_args_tested >= 0);
ASSERT(num_args_tested < kCachedICDataArrayCount);
return cached_icdata_arrays_[num_args_tested];
}
-
// Does not initialize ICData array.
RawICData* ICData::NewDescriptor(Zone* zone,
const Function& owner,
@@ -14142,13 +13393,11 @@ RawICData* ICData::NewDescriptor(Zone* zone,
return result.raw();
}
-
bool ICData::IsImmutable() const {
const Array& data = Array::Handle(ic_data());
return data.IsImmutable();
}
-
RawICData* ICData::New() {
ICData& result = ICData::Handle();
{
@@ -14166,7 +13415,6 @@ RawICData* ICData::New() {
return result.raw();
}
-
RawICData* ICData::New(const Function& owner,
const String& target_name,
const Array& arguments_descriptor,
@@ -14182,7 +13430,6 @@ RawICData* ICData::New(const Function& owner,
return result.raw();
}
-
RawICData* ICData::NewFrom(const ICData& from, intptr_t num_args_tested) {
const ICData& result = ICData::Handle(ICData::New(
Function::Handle(from.Owner()), String::Handle(from.target_name()),
@@ -14193,7 +13440,6 @@ RawICData* ICData::NewFrom(const ICData& from, intptr_t num_args_tested) {
return result.raw();
}
-
RawICData* ICData::Clone(const ICData& from) {
Zone* zone = Thread::Current()->zone();
const ICData& result = ICData::Handle(ICData::NewDescriptor(
@@ -14216,7 +13462,6 @@ RawICData* ICData::Clone(const ICData& from) {
return result.raw();
}
-
Code::Comments& Code::Comments::New(intptr_t count) {
Comments* comments;
if (count < 0 || count > (kIntptrMax / kNumberOfEntries)) {
@@ -14234,7 +13479,6 @@ Code::Comments& Code::Comments::New(intptr_t count) {
return *comments;
}
-
intptr_t Code::Comments::Length() const {
if (comments_.IsNull()) {
return 0;
@@ -14242,32 +13486,26 @@ intptr_t Code::Comments::Length() const {
return comments_.Length() / kNumberOfEntries;
}
-
intptr_t Code::Comments::PCOffsetAt(intptr_t idx) const {
return Smi::Value(
Smi::RawCast(comments_.At(idx * kNumberOfEntries + kPCOffsetEntry)));
}
-
void Code::Comments::SetPCOffsetAt(intptr_t idx, intptr_t pc) {
comments_.SetAt(idx * kNumberOfEntries + kPCOffsetEntry,
Smi::Handle(Smi::New(pc)));
}
-
RawString* Code::Comments::CommentAt(intptr_t idx) const {
return String::RawCast(comments_.At(idx * kNumberOfEntries + kCommentEntry));
}
-
void Code::Comments::SetCommentAt(intptr_t idx, const String& comment) {
comments_.SetAt(idx * kNumberOfEntries + kCommentEntry, comment);
}
-
Code::Comments::Comments(const Array& comments) : comments_(comments) {}
-
RawLocalVarDescriptors* Code::GetLocalVarDescriptors() const {
const LocalVarDescriptors& v = LocalVarDescriptors::Handle(var_descriptors());
if (v.IsNull()) {
@@ -14279,22 +13517,18 @@ RawLocalVarDescriptors* Code::GetLocalVarDescriptors() const {
return var_descriptors();
}
-
void Code::set_state_bits(intptr_t bits) const {
StoreNonPointer(&raw_ptr()->state_bits_, bits);
}
-
void Code::set_is_optimized(bool value) const {
set_state_bits(OptimizedBit::update(value, raw_ptr()->state_bits_));
}
-
void Code::set_is_alive(bool value) const {
set_state_bits(AliveBit::update(value, raw_ptr()->state_bits_));
}
-
void Code::set_stackmaps(const Array& maps) const {
ASSERT(maps.IsOld());
StorePointer(&raw_ptr()->stackmaps_, maps.raw());
@@ -14302,7 +13536,6 @@ void Code::set_stackmaps(const Array& maps) const {
maps.IsNull() ? 0 : maps.Length() * sizeof(uword));
}
-
#if !defined(DART_PRECOMPILED_RUNTIME) && !defined(DART_PRECOMPILER)
void Code::set_variables(const Smi& smi) const {
StorePointer(&raw_ptr()->catch_entry_.variables_, smi.raw());
@@ -14313,7 +13546,6 @@ void Code::set_catch_entry_state_maps(const TypedData& maps) const {
}
#endif
-
void Code::set_deopt_info_array(const Array& array) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -14323,7 +13555,6 @@ void Code::set_deopt_info_array(const Array& array) const {
#endif
}
-
void Code::set_static_calls_target_table(const Array& value) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -14342,7 +13573,6 @@ void Code::set_static_calls_target_table(const Array& value) const {
#endif // DEBUG
}
-
bool Code::HasBreakpoint() const {
if (!FLAG_support_debugger) {
return false;
@@ -14350,7 +13580,6 @@ bool Code::HasBreakpoint() const {
return Isolate::Current()->debugger()->HasBreakpoint(*this);
}
-
RawTypedData* Code::GetDeoptInfoAtPc(uword pc,
ICData::DeoptReasonId* deopt_reason,
uint32_t* deopt_flags) const {
@@ -14385,7 +13614,6 @@ RawTypedData* Code::GetDeoptInfoAtPc(uword pc,
#endif // defined(DART_PRECOMPILED_RUNTIME)
}
-
intptr_t Code::BinarySearchInSCallTable(uword pc) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -14411,7 +13639,6 @@ intptr_t Code::BinarySearchInSCallTable(uword pc) const {
return -1;
}
-
RawFunction* Code::GetStaticCallTargetFunctionAt(uword pc) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -14428,7 +13655,6 @@ RawFunction* Code::GetStaticCallTargetFunctionAt(uword pc) const {
#endif
}
-
RawCode* Code::GetStaticCallTargetCodeAt(uword pc) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -14445,7 +13671,6 @@ RawCode* Code::GetStaticCallTargetCodeAt(uword pc) const {
#endif
}
-
void Code::SetStaticCallTargetCodeAt(uword pc, const Code& code) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -14459,7 +13684,6 @@ void Code::SetStaticCallTargetCodeAt(uword pc, const Code& code) const {
#endif
}
-
void Code::SetStubCallTargetCodeAt(uword pc, const Code& code) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -14479,7 +13703,6 @@ void Code::SetStubCallTargetCodeAt(uword pc, const Code& code) const {
#endif
}
-
void Code::Disassemble(DisassemblyFormatter* formatter) const {
#ifndef PRODUCT
if (!FLAG_support_disassembler) {
@@ -14495,7 +13718,6 @@ void Code::Disassemble(DisassemblyFormatter* formatter) const {
#endif
}
-
const Code::Comments& Code::comments() const {
#if defined(DART_PRECOMPILED_RUNTIME)
Comments* comments = new Code::Comments(Array::Handle());
@@ -14505,7 +13727,6 @@ const Code::Comments& Code::comments() const {
return *comments;
}
-
void Code::set_comments(const Code::Comments& comments) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -14515,7 +13736,6 @@ void Code::set_comments(const Code::Comments& comments) const {
#endif
}
-
void Code::SetPrologueOffset(intptr_t offset) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -14527,7 +13747,6 @@ void Code::SetPrologueOffset(intptr_t offset) const {
#endif
}
-
intptr_t Code::GetPrologueOffset() const {
#if defined(DART_PRECOMPILED_RUNTIME)
return -1;
@@ -14542,18 +13761,15 @@ intptr_t Code::GetPrologueOffset() const {
#endif
}
-
RawArray* Code::inlined_id_to_function() const {
return raw_ptr()->inlined_id_to_function_;
}
-
void Code::set_inlined_id_to_function(const Array& value) const {
ASSERT(value.IsOld());
StorePointer(&raw_ptr()->inlined_id_to_function_, value.raw());
}
-
RawCode* Code::New(intptr_t pointer_offsets_length) {
if (pointer_offsets_length < 0 || pointer_offsets_length > kMaxElements) {
// This should be caught before we reach here.
@@ -14577,7 +13793,6 @@ RawCode* Code::New(intptr_t pointer_offsets_length) {
return result.raw();
}
-
RawCode* Code::FinalizeCode(const char* name,
Assembler* assembler,
bool optimized) {
@@ -14665,7 +13880,6 @@ RawCode* Code::FinalizeCode(const char* name,
return code.raw();
}
-
RawCode* Code::FinalizeCode(const Function& function,
Assembler* assembler,
bool optimized) {
@@ -14680,12 +13894,10 @@ RawCode* Code::FinalizeCode(const Function& function,
return FinalizeCode("", assembler, optimized);
}
-
bool Code::SlowFindRawCodeVisitor::FindObject(RawObject* raw_obj) const {
return RawCode::ContainsPC(raw_obj, pc_);
}
-
RawCode* Code::LookupCodeInIsolate(Isolate* isolate, uword pc) {
ASSERT((isolate == Isolate::Current()) || (isolate == Dart::vm_isolate()));
if (isolate->heap() == NULL) {
@@ -14700,17 +13912,14 @@ RawCode* Code::LookupCodeInIsolate(Isolate* isolate, uword pc) {
return Code::null();
}
-
RawCode* Code::LookupCode(uword pc) {
return LookupCodeInIsolate(Isolate::Current(), pc);
}
-
RawCode* Code::LookupCodeInVmIsolate(uword pc) {
return LookupCodeInIsolate(Dart::vm_isolate(), pc);
}
-
// Given a pc and a timestamp, lookup the code.
RawCode* Code::FindCode(uword pc, int64_t timestamp) {
Code& code = Code::Handle(Code::LookupCode(pc));
@@ -14728,7 +13937,6 @@ RawCode* Code::FindCode(uword pc, int64_t timestamp) {
return Code::null();
}
-
TokenPosition Code::GetTokenIndexOfPC(uword pc) const {
uword pc_offset = pc - PayloadStart();
const PcDescriptors& descriptors = PcDescriptors::Handle(pc_descriptors());
@@ -14741,7 +13949,6 @@ TokenPosition Code::GetTokenIndexOfPC(uword pc) const {
return TokenPosition::kNoSource;
}
-
uword Code::GetPcForDeoptId(intptr_t deopt_id,
RawPcDescriptors::Kind kind) const {
const PcDescriptors& descriptors = PcDescriptors::Handle(pc_descriptors());
@@ -14757,7 +13964,6 @@ uword Code::GetPcForDeoptId(intptr_t deopt_id,
return 0;
}
-
intptr_t Code::GetDeoptIdForOsr(uword pc) const {
uword pc_offset = pc - PayloadStart();
const PcDescriptors& descriptors = PcDescriptors::Handle(pc_descriptors());
@@ -14770,12 +13976,10 @@ intptr_t Code::GetDeoptIdForOsr(uword pc) const {
return Thread::kNoDeoptId;
}
-
const char* Code::ToCString() const {
return Thread::Current()->zone()->PrintToString("Code(%s)", QualifiedName());
}
-
const char* Code::Name() const {
Zone* zone = Thread::Current()->zone();
const Object& obj = Object::Handle(zone, owner());
@@ -14802,7 +14006,6 @@ const char* Code::Name() const {
}
}
-
const char* Code::QualifiedName() const {
Zone* zone = Thread::Current()->zone();
const Object& obj = Object::Handle(zone, owner());
@@ -14816,25 +14019,21 @@ const char* Code::QualifiedName() const {
return Name();
}
-
bool Code::IsAllocationStubCode() const {
const Object& obj = Object::Handle(owner());
return obj.IsClass();
}
-
bool Code::IsStubCode() const {
const Object& obj = Object::Handle(owner());
return obj.IsNull();
}
-
bool Code::IsFunctionCode() const {
const Object& obj = Object::Handle(owner());
return obj.IsFunction();
}
-
void Code::DisableDartCode() const {
DEBUG_ASSERT(IsMutatorOrAtSafepoint());
ASSERT(IsFunctionCode());
@@ -14844,7 +14043,6 @@ void Code::DisableDartCode() const {
SetActiveInstructions(Instructions::Handle(new_code.instructions()));
}
-
void Code::DisableStubCode() const {
#if !defined(TARGET_ARCH_DBC)
ASSERT(Thread::Current()->IsMutatorThread());
@@ -14859,7 +14057,6 @@ void Code::DisableStubCode() const {
#endif // !defined(TARGET_ARCH_DBC)
}
-
void Code::SetActiveInstructions(const Instructions& instructions) const {
#if defined(DART_PRECOMPILED_RUNTIME)
UNREACHABLE();
@@ -14875,7 +14072,6 @@ void Code::SetActiveInstructions(const Instructions& instructions) const {
#endif
}
-
RawStackMap* Code::GetStackMap(uint32_t pc_offset,
Array* maps,
StackMap* map) const {
@@ -14907,7 +14103,6 @@ RawStackMap* Code::GetStackMap(uint32_t pc_offset,
return StackMap::null();
}
-
void Code::GetInlinedFunctionsAtInstruction(
intptr_t pc_offset,
GrowableArray<const Function*>* functions,
@@ -14923,7 +14118,6 @@ void Code::GetInlinedFunctionsAtInstruction(
reader.GetInlinedFunctionsAt(pc_offset, functions, token_positions);
}
-
#ifndef PRODUCT
void Code::PrintJSONInlineIntervals(JSONObject* jsobj) const {
if (!is_optimized()) {
@@ -14937,7 +14131,6 @@ void Code::PrintJSONInlineIntervals(JSONObject* jsobj) const {
}
#endif
-
void Code::DumpInlineIntervals() const {
const CodeSourceMap& map = CodeSourceMap::Handle(code_source_map());
if (map.IsNull()) {
@@ -14950,7 +14143,6 @@ void Code::DumpInlineIntervals() const {
reader.DumpInlineIntervals(PayloadStart());
}
-
void Code::DumpSourcePositions() const {
const CodeSourceMap& map = CodeSourceMap::Handle(code_source_map());
if (map.IsNull()) {
@@ -14963,7 +14155,6 @@ void Code::DumpSourcePositions() const {
reader.DumpSourcePositions(PayloadStart());
}
-
RawArray* Code::await_token_positions() const {
#if defined(DART_PRECOMPILED_RUNTIME)
return Array::null();
@@ -14992,7 +14183,6 @@ RawContext* Context::New(intptr_t num_variables, Heap::Space space) {
return result.raw();
}
-
const char* Context::ToCString() const {
if (IsNull()) {
return "Context: null";
@@ -15009,14 +14199,12 @@ const char* Context::ToCString() const {
}
}
-
static void IndentN(int count) {
for (int i = 0; i < count; i++) {
THR_Print(" ");
}
}
-
void Context::Dump(int indent) const {
if (IsNull()) {
IndentN(indent);
@@ -15046,7 +14234,6 @@ void Context::Dump(int indent) const {
THR_Print("}\n");
}
-
RawContextScope* ContextScope::New(intptr_t num_variables, bool is_implicit) {
ASSERT(Object::context_scope_class() != Class::null());
if (num_variables < 0 || num_variables > kMaxElements) {
@@ -15066,26 +14253,22 @@ RawContextScope* ContextScope::New(intptr_t num_variables, bool is_implicit) {
return result.raw();
}
-
TokenPosition ContextScope::TokenIndexAt(intptr_t scope_index) const {
return TokenPosition(Smi::Value(VariableDescAddr(scope_index)->token_pos));
}
-
void ContextScope::SetTokenIndexAt(intptr_t scope_index,
TokenPosition token_pos) const {
StoreSmi(&VariableDescAddr(scope_index)->token_pos,
Smi::New(token_pos.value()));
}
-
TokenPosition ContextScope::DeclarationTokenIndexAt(
intptr_t scope_index) const {
return TokenPosition(
Smi::Value(VariableDescAddr(scope_index)->declaration_token_pos));
}
-
void ContextScope::SetDeclarationTokenIndexAt(
intptr_t scope_index,
TokenPosition declaration_token_pos) const {
@@ -15093,88 +14276,73 @@ void ContextScope::SetDeclarationTokenIndexAt(
Smi::New(declaration_token_pos.value()));
}
-
RawString* ContextScope::NameAt(intptr_t scope_index) const {
return VariableDescAddr(scope_index)->name;
}
-
void ContextScope::SetNameAt(intptr_t scope_index, const String& name) const {
StorePointer(&(VariableDescAddr(scope_index)->name), name.raw());
}
-
bool ContextScope::IsFinalAt(intptr_t scope_index) const {
return Bool::Handle(VariableDescAddr(scope_index)->is_final).value();
}
-
void ContextScope::SetIsFinalAt(intptr_t scope_index, bool is_final) const {
StorePointer(&(VariableDescAddr(scope_index)->is_final),
Bool::Get(is_final).raw());
}
-
bool ContextScope::IsConstAt(intptr_t scope_index) const {
return Bool::Handle(VariableDescAddr(scope_index)->is_const).value();
}
-
void ContextScope::SetIsConstAt(intptr_t scope_index, bool is_const) const {
StorePointer(&(VariableDescAddr(scope_index)->is_const),
Bool::Get(is_const).raw());
}
-
RawAbstractType* ContextScope::TypeAt(intptr_t scope_index) const {
ASSERT(!IsConstAt(scope_index));
return VariableDescAddr(scope_index)->type;
}
-
void ContextScope::SetTypeAt(intptr_t scope_index,
const AbstractType& type) const {
StorePointer(&(VariableDescAddr(scope_index)->type), type.raw());
}
-
RawInstance* ContextScope::ConstValueAt(intptr_t scope_index) const {
ASSERT(IsConstAt(scope_index));
return VariableDescAddr(scope_index)->value;
}
-
void ContextScope::SetConstValueAt(intptr_t scope_index,
const Instance& value) const {
ASSERT(IsConstAt(scope_index));
StorePointer(&(VariableDescAddr(scope_index)->value), value.raw());
}
-
intptr_t ContextScope::ContextIndexAt(intptr_t scope_index) const {
return Smi::Value(VariableDescAddr(scope_index)->context_index);
}
-
void ContextScope::SetContextIndexAt(intptr_t scope_index,
intptr_t context_index) const {
StoreSmi(&(VariableDescAddr(scope_index)->context_index),
Smi::New(context_index));
}
-
intptr_t ContextScope::ContextLevelAt(intptr_t scope_index) const {
return Smi::Value(VariableDescAddr(scope_index)->context_level);
}
-
void ContextScope::SetContextLevelAt(intptr_t scope_index,
intptr_t context_level) const {
StoreSmi(&(VariableDescAddr(scope_index)->context_level),
Smi::New(context_level));
}
-
const char* ContextScope::ToCString() const {
const char* prev_cstr = "ContextScope:";
String& name = String::Handle();
@@ -15193,17 +14361,14 @@ const char* ContextScope::ToCString() const {
return prev_cstr;
}
-
RawArray* MegamorphicCache::buckets() const {
return raw_ptr()->buckets_;
}
-
void MegamorphicCache::set_buckets(const Array& buckets) const {
StorePointer(&raw_ptr()->buckets_, buckets.raw());
}
-
// Class IDs in the table are smi-tagged, so we use a smi-tagged mask
// and target class ID to avoid untagging (on each iteration of the
// test loop) in generated code.
@@ -15211,32 +14376,26 @@ intptr_t MegamorphicCache::mask() const {
return Smi::Value(raw_ptr()->mask_);
}
-
void MegamorphicCache::set_mask(intptr_t mask) const {
StoreSmi(&raw_ptr()->mask_, Smi::New(mask));
}
-
intptr_t MegamorphicCache::filled_entry_count() const {
return raw_ptr()->filled_entry_count_;
}
-
void MegamorphicCache::set_filled_entry_count(intptr_t count) const {
StoreNonPointer(&raw_ptr()->filled_entry_count_, count);
}
-
void MegamorphicCache::set_target_name(const String& value) const {
StorePointer(&raw_ptr()->target_name_, value.raw());
}
-
void MegamorphicCache::set_arguments_descriptor(const Array& value) const {
StorePointer(&raw_ptr()->args_descriptor_, value.raw());
}
-
RawMegamorphicCache* MegamorphicCache::New() {
MegamorphicCache& result = MegamorphicCache::Handle();
{
@@ -15250,7 +14409,6 @@ RawMegamorphicCache* MegamorphicCache::New() {
return result.raw();
}
-
RawMegamorphicCache* MegamorphicCache::New(const String& target_name,
const Array& arguments_descriptor) {
MegamorphicCache& result = MegamorphicCache::Handle();
@@ -15277,7 +14435,6 @@ RawMegamorphicCache* MegamorphicCache::New(const String& target_name,
return result.raw();
}
-
void MegamorphicCache::EnsureCapacity() const {
intptr_t old_capacity = mask() + 1;
double load_limit = kLoadFactor * static_cast<double>(old_capacity);
@@ -15308,7 +14465,6 @@ void MegamorphicCache::EnsureCapacity() const {
}
}
-
void MegamorphicCache::Insert(const Smi& class_id,
const Function& target) const {
ASSERT(static_cast<double>(filled_entry_count() + 1) <=
@@ -15328,14 +14484,12 @@ void MegamorphicCache::Insert(const Smi& class_id,
UNREACHABLE();
}
-
const char* MegamorphicCache::ToCString() const {
const String& name = String::Handle(target_name());
return OS::SCreate(Thread::Current()->zone(), "MegamorphicCache(%s)",
name.ToCString());
}
-
RawSubtypeTestCache* SubtypeTestCache::New() {
ASSERT(Object::subtypetestcache_class() != Class::null());
SubtypeTestCache& result = SubtypeTestCache::Handle();
@@ -15353,19 +14507,16 @@ RawSubtypeTestCache* SubtypeTestCache::New() {
return result.raw();
}
-
void SubtypeTestCache::set_cache(const Array& value) const {
StorePointer(&raw_ptr()->cache_, value.raw());
}
-
intptr_t SubtypeTestCache::NumberOfChecks() const {
NoSafepointScope no_safepoint;
// Do not count the sentinel;
return (Smi::Value(cache()->ptr()->length_) / kTestEntryLength) - 1;
}
-
void SubtypeTestCache::AddCheck(
const Object& instance_class_id_or_function,
const TypeArguments& instance_type_arguments,
@@ -15387,7 +14538,6 @@ void SubtypeTestCache::AddCheck(
data.SetAt(data_pos + kTestResult, test_result);
}
-
void SubtypeTestCache::GetCheck(intptr_t ix,
Object* instance_class_id_or_function,
TypeArguments* instance_type_arguments,
@@ -15405,12 +14555,10 @@ void SubtypeTestCache::GetCheck(intptr_t ix,
*test_result ^= data.At(data_pos + kTestResult);
}
-
const char* SubtypeTestCache::ToCString() const {
return "SubtypeTestCache";
}
-
const char* Error::ToErrorCString() const {
if (IsNull()) {
return "Error: null";
@@ -15419,7 +14567,6 @@ const char* Error::ToErrorCString() const {
return "Error";
}
-
const char* Error::ToCString() const {
if (IsNull()) {
return "Error: null";
@@ -15429,7 +14576,6 @@ const char* Error::ToCString() const {
return "Error";
}
-
RawApiError* ApiError::New() {
ASSERT(Object::api_error_class() != Class::null());
RawObject* raw = Object::Allocate(ApiError::kClassId,
@@ -15437,7 +14583,6 @@ RawApiError* ApiError::New() {
return reinterpret_cast<RawApiError*>(raw);
}
-
RawApiError* ApiError::New(const String& message, Heap::Space space) {
#ifndef PRODUCT
if (FLAG_print_stacktrace_at_api_error) {
@@ -15458,23 +14603,19 @@ RawApiError* ApiError::New(const String& message, Heap::Space space) {
return result.raw();
}
-
void ApiError::set_message(const String& message) const {
StorePointer(&raw_ptr()->message_, message.raw());
}
-
const char* ApiError::ToErrorCString() const {
const String& msg_str = String::Handle(message());
return msg_str.ToCString();
}
-
const char* ApiError::ToCString() const {
return "ApiError";
}
-
RawLanguageError* LanguageError::New() {
ASSERT(Object::language_error_class() != Class::null());
RawObject* raw = Object::Allocate(LanguageError::kClassId,
@@ -15482,7 +14623,6 @@ RawLanguageError* LanguageError::New() {
return reinterpret_cast<RawLanguageError*>(raw);
}
-
RawLanguageError* LanguageError::NewFormattedV(const Error& prev_error,
const Script& script,
TokenPosition token_pos,
@@ -15509,7 +14649,6 @@ RawLanguageError* LanguageError::NewFormattedV(const Error& prev_error,
return result.raw();
}
-
RawLanguageError* LanguageError::NewFormatted(const Error& prev_error,
const Script& script,
TokenPosition token_pos,
@@ -15528,7 +14667,6 @@ RawLanguageError* LanguageError::NewFormatted(const Error& prev_error,
return result;
}
-
RawLanguageError* LanguageError::New(const String& formatted_message,
Report::Kind kind,
Heap::Space space) {
@@ -15545,43 +14683,35 @@ RawLanguageError* LanguageError::New(const String& formatted_message,
return result.raw();
}
-
void LanguageError::set_previous_error(const Error& value) const {
StorePointer(&raw_ptr()->previous_error_, value.raw());
}
-
void LanguageError::set_script(const Script& value) const {
StorePointer(&raw_ptr()->script_, value.raw());
}
-
void LanguageError::set_token_pos(TokenPosition token_pos) const {
ASSERT(!token_pos.IsClassifying());
StoreNonPointer(&raw_ptr()->token_pos_, token_pos);
}
-
void LanguageError::set_report_after_token(bool value) {
StoreNonPointer(&raw_ptr()->report_after_token_, value);
}
-
void LanguageError::set_kind(uint8_t value) const {
StoreNonPointer(&raw_ptr()->kind_, value);
}
-
void LanguageError::set_message(const String& value) const {
StorePointer(&raw_ptr()->message_, value.raw());
}
-
void LanguageError::set_formatted_message(const String& value) const {
StorePointer(&raw_ptr()->formatted_message_, value.raw());
}
-
RawString* LanguageError::FormatMessage() const {
if (formatted_message() != String::null()) {
return formatted_message();
@@ -15599,7 +14729,6 @@ RawString* LanguageError::FormatMessage() const {
return result.raw();
}
-
const char* LanguageError::ToErrorCString() const {
Thread* thread = Thread::Current();
NoReloadScope no_reload_scope(thread->isolate(), thread);
@@ -15607,12 +14736,10 @@ const char* LanguageError::ToErrorCString() const {
return msg_str.ToCString();
}
-
const char* LanguageError::ToCString() const {
return "LanguageError";
}
-
RawUnhandledException* UnhandledException::New(const Instance& exception,
const Instance& stacktrace,
Heap::Space space) {
@@ -15630,7 +14757,6 @@ RawUnhandledException* UnhandledException::New(const Instance& exception,
return result.raw();
}
-
RawUnhandledException* UnhandledException::New(Heap::Space space) {
ASSERT(Object::unhandled_exception_class() != Class::null());
UnhandledException& result = UnhandledException::Handle();
@@ -15646,17 +14772,14 @@ RawUnhandledException* UnhandledException::New(Heap::Space space) {
return result.raw();
}
-
void UnhandledException::set_exception(const Instance& exception) const {
StorePointer(&raw_ptr()->exception_, exception.raw());
}
-
void UnhandledException::set_stacktrace(const Instance& stacktrace) const {
StorePointer(&raw_ptr()->stacktrace_, stacktrace.raw());
}
-
const char* UnhandledException::ToErrorCString() const {
Thread* thread = Thread::Current();
Isolate* isolate = thread->isolate();
@@ -15688,12 +14811,10 @@ const char* UnhandledException::ToErrorCString() const {
stack_str);
}
-
const char* UnhandledException::ToCString() const {
return "UnhandledException";
}
-
RawUnwindError* UnwindError::New(const String& message, Heap::Space space) {
ASSERT(Object::unwind_error_class() != Class::null());
UnwindError& result = UnwindError::Handle();
@@ -15708,28 +14829,23 @@ RawUnwindError* UnwindError::New(const String& message, Heap::Space space) {
return result.raw();
}
-
void UnwindError::set_message(const String& message) const {
StorePointer(&raw_ptr()->message_, message.raw());
}
-
void UnwindError::set_is_user_initiated(bool value) const {
StoreNonPointer(&raw_ptr()->is_user_initiated_, value);
}
-
const char* UnwindError::ToErrorCString() const {
const String& msg_str = String::Handle(message());
return msg_str.ToCString();
}
-
const char* UnwindError::ToCString() const {
return "UnwindError";
}
-
RawObject* Instance::Evaluate(const Class& method_cls,
const String& expr,
const Array& param_names,
@@ -15746,14 +14862,12 @@ RawObject* Instance::Evaluate(const Class& method_cls,
return DartEntry::InvokeFunction(eval_func, args);
}
-
RawObject* Instance::HashCode() const {
// TODO(koda): Optimize for all builtin classes and all classes
// that do not override hashCode.
return DartLibraryCalls::HashCode(*this);
}
-
bool Instance::CanonicalizeEquals(const Instance& other) const {
if (this->raw() == other.raw()) {
return true; // "===".
@@ -15786,7 +14900,6 @@ bool Instance::CanonicalizeEquals(const Instance& other) const {
return true;
}
-
uword Instance::ComputeCanonicalTableHash() const {
ASSERT(!IsNull());
NoSafepointScope no_safepoint;
@@ -15803,7 +14916,6 @@ uword Instance::ComputeCanonicalTableHash() const {
return FinalizeHash(hash, (kBitsPerWord - 1));
}
-
#if defined(DEBUG)
class CheckForPointers : public ObjectPointerVisitor {
public:
@@ -15825,7 +14937,6 @@ class CheckForPointers : public ObjectPointerVisitor {
};
#endif // DEBUG
-
bool Instance::CheckAndCanonicalizeFields(Thread* thread,
const char** error_str) const {
if (GetClassId() >= kNumPredefinedCids) {
@@ -15862,7 +14973,6 @@ bool Instance::CheckAndCanonicalizeFields(Thread* thread,
return true;
}
-
RawInstance* Instance::CheckAndCanonicalize(Thread* thread,
const char** error_str) const {
ASSERT(!IsNull());
@@ -15895,7 +15005,6 @@ RawInstance* Instance::CheckAndCanonicalize(Thread* thread,
}
}
-
#if defined(DEBUG)
bool Instance::CheckIsCanonical(Thread* thread) const {
Zone* zone = thread->zone();
@@ -15908,7 +15017,6 @@ bool Instance::CheckIsCanonical(Thread* thread) const {
}
#endif // DEBUG
-
RawAbstractType* Instance::GetType(Heap::Space space) const {
if (IsNull()) {
return Type::NullType();
@@ -15947,7 +15055,6 @@ RawAbstractType* Instance::GetType(Heap::Space space) const {
return type.raw();
}
-
RawTypeArguments* Instance::GetTypeArguments() const {
const Class& cls = Class::Handle(clazz());
intptr_t field_offset = cls.type_arguments_field_offset();
@@ -15957,7 +15064,6 @@ RawTypeArguments* Instance::GetTypeArguments() const {
return type_arguments.raw();
}
-
void Instance::SetTypeArguments(const TypeArguments& value) const {
ASSERT(value.IsNull() || value.IsCanonical());
const Class& cls = Class::Handle(clazz());
@@ -15966,7 +15072,6 @@ void Instance::SetTypeArguments(const TypeArguments& value) const {
SetFieldAtOffset(field_offset, value);
}
-
bool Instance::IsInstanceOf(
const AbstractType& other,
const TypeArguments& other_instantiator_type_arguments,
@@ -16101,14 +15206,12 @@ bool Instance::IsInstanceOf(
bound_error, NULL, Heap::kOld);
}
-
bool Instance::OperatorEquals(const Instance& other) const {
// TODO(koda): Optimize for all builtin classes and all classes
// that do not override operator==.
return DartLibraryCalls::Equals(*this, other) == Object::bool_true().raw();
}
-
bool Instance::IsIdenticalTo(const Instance& other) const {
if (raw() == other.raw()) return true;
if (IsInteger() && other.IsInteger()) {
@@ -16121,7 +15224,6 @@ bool Instance::IsIdenticalTo(const Instance& other) const {
return false;
}
-
intptr_t* Instance::NativeFieldsDataAddr() const {
ASSERT(Thread::Current()->no_safepoint_scope_depth() > 0);
RawTypedData* native_fields =
@@ -16132,7 +15234,6 @@ intptr_t* Instance::NativeFieldsDataAddr() const {
return reinterpret_cast<intptr_t*>(native_fields->ptr()->data());
}
-
void Instance::SetNativeField(int index, intptr_t value) const {
ASSERT(IsValidNativeIndex(index));
Object& native_fields = Object::Handle(*NativeFieldsAddr());
@@ -16145,7 +15246,6 @@ void Instance::SetNativeField(int index, intptr_t value) const {
TypedData::Cast(native_fields).SetIntPtr(byte_offset, value);
}
-
void Instance::SetNativeFields(uint16_t num_native_fields,
const intptr_t* field_values) const {
ASSERT(num_native_fields == NumNativeFields());
@@ -16162,7 +15262,6 @@ void Instance::SetNativeFields(uint16_t num_native_fields,
}
}
-
bool Instance::IsCallable(Function* function) const {
Class& cls = Class::Handle(clazz());
if (cls.IsClosureClass()) {
@@ -16186,7 +15285,6 @@ bool Instance::IsCallable(Function* function) const {
return false;
}
-
RawInstance* Instance::New(const Class& cls, Heap::Space space) {
Thread* thread = Thread::Current();
if (cls.EnsureIsFinalized(thread) != Error::null()) {
@@ -16198,7 +15296,6 @@ RawInstance* Instance::New(const Class& cls, Heap::Space space) {
return reinterpret_cast<RawInstance*>(raw);
}
-
bool Instance::IsValidFieldOffset(intptr_t offset) const {
Thread* thread = Thread::Current();
REUSABLE_CLASS_HANDLESCOPE(thread);
@@ -16207,7 +15304,6 @@ bool Instance::IsValidFieldOffset(intptr_t offset) const {
return (offset >= 0 && offset <= (cls.instance_size() - kWordSize));
}
-
intptr_t Instance::ElementSizeFor(intptr_t cid) {
if (RawObject::IsExternalTypedDataClassId(cid)) {
return ExternalTypedData::ElementSizeInBytes(cid);
@@ -16232,7 +15328,6 @@ intptr_t Instance::ElementSizeFor(intptr_t cid) {
}
}
-
intptr_t Instance::DataOffsetFor(intptr_t cid) {
if (RawObject::IsExternalTypedDataClassId(cid) ||
RawObject::IsExternalStringClassId(cid)) {
@@ -16256,7 +15351,6 @@ intptr_t Instance::DataOffsetFor(intptr_t cid) {
}
}
-
const char* Instance::ToCString() const {
if (IsNull()) {
return "null";
@@ -16289,55 +15383,47 @@ const char* Instance::ToCString() const {
}
}
-
bool AbstractType::IsResolved() const {
// AbstractType is an abstract class.
UNREACHABLE();
return false;
}
-
void AbstractType::SetIsResolved() const {
// AbstractType is an abstract class.
UNREACHABLE();
}
-
bool AbstractType::HasResolvedTypeClass() const {
// AbstractType is an abstract class.
UNREACHABLE();
return false;
}
-
classid_t AbstractType::type_class_id() const {
// AbstractType is an abstract class.
UNREACHABLE();
return kIllegalCid;
}
-
RawClass* AbstractType::type_class() const {
// AbstractType is an abstract class.
UNREACHABLE();
return Class::null();
}
-
RawUnresolvedClass* AbstractType::unresolved_class() const {
// AbstractType is an abstract class.
UNREACHABLE();
return UnresolvedClass::null();
}
-
RawTypeArguments* AbstractType::arguments() const {
// AbstractType is an abstract class.
UNREACHABLE();
return NULL;
}
-
void AbstractType::set_arguments(const TypeArguments& value) const {
// AbstractType is an abstract class.
UNREACHABLE();
@@ -16349,7 +15435,6 @@ TokenPosition AbstractType::token_pos() const {
return TokenPosition::kNoSource;
}
-
bool AbstractType::IsInstantiated(Genericity genericity,
intptr_t num_free_fun_type_params,
TrailPtr trail) const {
@@ -16358,81 +15443,69 @@ bool AbstractType::IsInstantiated(Genericity genericity,
return false;
}
-
bool AbstractType::IsFinalized() const {
// AbstractType is an abstract class.
UNREACHABLE();
return false;
}
-
void AbstractType::SetIsFinalized() const {
// AbstractType is an abstract class.
UNREACHABLE();
}
-
bool AbstractType::IsBeingFinalized() const {
// AbstractType is an abstract class.
UNREACHABLE();
return false;
}
-
void AbstractType::SetIsBeingFinalized() const {
// AbstractType is an abstract class.
UNREACHABLE();
}
-
bool AbstractType::IsMalformed() const {
// AbstractType is an abstract class.
UNREACHABLE();
return false;
}
-
bool AbstractType::IsMalbounded() const {
// AbstractType is an abstract class.
UNREACHABLE();
return false;
}
-
bool AbstractType::IsMalformedOrMalbounded() const {
// AbstractType is an abstract class.
UNREACHABLE();
return false;
}
-
RawLanguageError* AbstractType::error() const {
// AbstractType is an abstract class.
UNREACHABLE();
return LanguageError::null();
}
-
void AbstractType::set_error(const LanguageError& value) const {
// AbstractType is an abstract class.
UNREACHABLE();
}
-
bool AbstractType::IsEquivalent(const Instance& other, TrailPtr trail) const {
// AbstractType is an abstract class.
UNREACHABLE();
return false;
}
-
bool AbstractType::IsRecursive() const {
// AbstractType is an abstract class.
UNREACHABLE();
return false;
}
-
RawAbstractType* AbstractType::InstantiateFrom(
const TypeArguments& instantiator_type_arguments,
const TypeArguments& function_type_arguments,
@@ -16445,14 +15518,12 @@ RawAbstractType* AbstractType::InstantiateFrom(
return NULL;
}
-
RawAbstractType* AbstractType::CloneUnfinalized() const {
// AbstractType is an abstract class.
UNREACHABLE();
return NULL;
}
-
RawAbstractType* AbstractType::CloneUninstantiated(const Class& new_owner,
TrailPtr trail) const {
// AbstractType is an abstract class.
@@ -16460,21 +15531,18 @@ RawAbstractType* AbstractType::CloneUninstantiated(const Class& new_owner,
return NULL;
}
-
RawAbstractType* AbstractType::Canonicalize(TrailPtr trail) const {
// AbstractType is an abstract class.
UNREACHABLE();
return NULL;
}
-
RawString* AbstractType::EnumerateURIs() const {
// AbstractType is an abstract class.
UNREACHABLE();
return NULL;
}
-
RawAbstractType* AbstractType::OnlyBuddyInTrail(TrailPtr trail) const {
if (trail == NULL) {
return AbstractType::null();
@@ -16492,7 +15560,6 @@ RawAbstractType* AbstractType::OnlyBuddyInTrail(TrailPtr trail) const {
return AbstractType::null();
}
-
void AbstractType::AddOnlyBuddyToTrail(TrailPtr* trail,
const AbstractType& buddy) const {
if (*trail == NULL) {
@@ -16504,7 +15571,6 @@ void AbstractType::AddOnlyBuddyToTrail(TrailPtr* trail,
(*trail)->Add(buddy);
}
-
bool AbstractType::TestAndAddToTrail(TrailPtr* trail) const {
if (*trail == NULL) {
*trail = new Trail(Thread::Current()->zone(), 4);
@@ -16520,7 +15586,6 @@ bool AbstractType::TestAndAddToTrail(TrailPtr* trail) const {
return false;
}
-
bool AbstractType::TestAndAddBuddyToTrail(TrailPtr* trail,
const AbstractType& buddy) const {
if (*trail == NULL) {
@@ -16547,7 +15612,6 @@ bool AbstractType::TestAndAddBuddyToTrail(TrailPtr* trail,
return false;
}
-
RawString* AbstractType::BuildName(NameVisibility name_visibility) const {
ASSERT(name_visibility != kScrubbedName);
Thread* thread = Thread::Current();
@@ -16669,7 +15733,6 @@ RawString* AbstractType::BuildName(NameVisibility name_visibility) const {
return Symbols::FromConcatAll(thread, pieces);
}
-
RawString* AbstractType::ClassName() const {
ASSERT(!IsFunctionType());
if (HasResolvedTypeClass()) {
@@ -16679,7 +15742,6 @@ RawString* AbstractType::ClassName() const {
}
}
-
bool AbstractType::IsDynamicType() const {
if (IsCanonical()) {
return raw() == Object::dynamic_type().raw();
@@ -16687,90 +15749,75 @@ bool AbstractType::IsDynamicType() const {
return HasResolvedTypeClass() && (type_class() == Object::dynamic_class());
}
-
bool AbstractType::IsVoidType() const {
return raw() == Object::void_type().raw();
}
-
bool AbstractType::IsNullType() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Isolate::Current()->object_store()->null_class());
}
-
bool AbstractType::IsBoolType() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Isolate::Current()->object_store()->bool_class());
}
-
bool AbstractType::IsIntType() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Type::Handle(Type::IntType()).type_class());
}
-
bool AbstractType::IsInt64Type() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Type::Handle(Type::Int64Type()).type_class());
}
-
bool AbstractType::IsDoubleType() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Type::Handle(Type::Double()).type_class());
}
-
bool AbstractType::IsFloat32x4Type() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Type::Handle(Type::Float32x4()).type_class());
}
-
bool AbstractType::IsFloat64x2Type() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Type::Handle(Type::Float64x2()).type_class());
}
-
bool AbstractType::IsInt32x4Type() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Type::Handle(Type::Int32x4()).type_class());
}
-
bool AbstractType::IsNumberType() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Type::Handle(Type::Number()).type_class());
}
-
bool AbstractType::IsSmiType() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Type::Handle(Type::SmiType()).type_class());
}
-
bool AbstractType::IsStringType() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Type::Handle(Type::StringType()).type_class());
}
-
bool AbstractType::IsDartFunctionType() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Type::Handle(Type::DartFunctionType()).type_class());
}
-
bool AbstractType::IsDartClosureType() const {
return !IsFunctionType() && HasResolvedTypeClass() &&
(type_class() == Isolate::Current()->object_store()->closure_class());
}
-
bool AbstractType::TypeTest(TypeTestKind test_kind,
const AbstractType& other,
Error* bound_error,
@@ -16941,14 +15988,12 @@ bool AbstractType::TypeTest(TypeTestKind test_kind,
bound_error, bound_trail, space);
}
-
intptr_t AbstractType::Hash() const {
// AbstractType is an abstract class.
UNREACHABLE();
return 0;
}
-
const char* AbstractType::ToCString() const {
if (IsNull()) {
return "AbstractType: null";
@@ -16958,92 +16003,74 @@ const char* AbstractType::ToCString() const {
return "AbstractType";
}
-
RawType* Type::NullType() {
return Isolate::Current()->object_store()->null_type();
}
-
RawType* Type::DynamicType() {
return Object::dynamic_type().raw();
}
-
RawType* Type::VoidType() {
return Object::void_type().raw();
}
-
RawType* Type::ObjectType() {
return Isolate::Current()->object_store()->object_type();
}
-
RawType* Type::BoolType() {
return Isolate::Current()->object_store()->bool_type();
}
-
RawType* Type::IntType() {
return Isolate::Current()->object_store()->int_type();
}
-
RawType* Type::Int64Type() {
return Isolate::Current()->object_store()->int64_type();
}
-
RawType* Type::SmiType() {
return Isolate::Current()->object_store()->smi_type();
}
-
RawType* Type::MintType() {
return Isolate::Current()->object_store()->mint_type();
}
-
RawType* Type::Double() {
return Isolate::Current()->object_store()->double_type();
}
-
RawType* Type::Float32x4() {
return Isolate::Current()->object_store()->float32x4_type();
}
-
RawType* Type::Float64x2() {
return Isolate::Current()->object_store()->float64x2_type();
}
-
RawType* Type::Int32x4() {
return Isolate::Current()->object_store()->int32x4_type();
}
-
RawType* Type::Number() {
return Isolate::Current()->object_store()->number_type();
}
-
RawType* Type::StringType() {
return Isolate::Current()->object_store()->string_type();
}
-
RawType* Type::ArrayType() {
return Isolate::Current()->object_store()->array_type();
}
-
RawType* Type::DartFunctionType() {
return Isolate::Current()->object_store()->function_type();
}
-
RawType* Type::NewNonParameterizedType(const Class& type_class) {
ASSERT(type_class.NumTypeArguments() == 0);
Type& type = Type::Handle(type_class.CanonicalType());
@@ -17057,7 +16084,6 @@ RawType* Type::NewNonParameterizedType(const Class& type_class) {
return type.raw();
}
-
void Type::SetIsFinalized() const {
ASSERT(!IsFinalized());
if (IsInstantiated()) {
@@ -17068,20 +16094,17 @@ void Type::SetIsFinalized() const {
}
}
-
void Type::ResetIsFinalized() const {
ASSERT(IsFinalized());
set_type_state(RawType::kBeingFinalized);
SetIsFinalized();
}
-
void Type::SetIsBeingFinalized() const {
ASSERT(IsResolved() && !IsFinalized() && !IsBeingFinalized());
set_type_state(RawType::kBeingFinalized);
}
-
bool Type::IsMalformed() const {
if (raw_ptr()->sig_or_err_.error_ == LanguageError::null()) {
return false; // Valid type, but not a function type.
@@ -17094,7 +16117,6 @@ bool Type::IsMalformed() const {
return type_error.kind() == Report::kMalformedType;
}
-
bool Type::IsMalbounded() const {
if (raw_ptr()->sig_or_err_.error_ == LanguageError::null()) {
return false; // Valid type, but not a function type.
@@ -17110,7 +16132,6 @@ bool Type::IsMalbounded() const {
return type_error.kind() == Report::kMalboundedType;
}
-
bool Type::IsMalformedOrMalbounded() const {
if (raw_ptr()->sig_or_err_.error_ == LanguageError::null()) {
return false; // Valid type, but not a function type.
@@ -17126,7 +16147,6 @@ bool Type::IsMalformedOrMalbounded() const {
return Isolate::Current()->type_checks();
}
-
RawLanguageError* Type::error() const {
if (raw_ptr()->sig_or_err_.error_->IsLanguageError()) {
return LanguageError::RawCast(raw_ptr()->sig_or_err_.error_);
@@ -17134,12 +16154,10 @@ RawLanguageError* Type::error() const {
return LanguageError::null();
}
-
void Type::set_error(const LanguageError& value) const {
StorePointer(&raw_ptr()->sig_or_err_.error_, value.raw());
}
-
RawFunction* Type::signature() const {
intptr_t cid = raw_ptr()->sig_or_err_.signature_->GetClassId();
if (cid == kNullCid) {
@@ -17152,34 +16170,28 @@ RawFunction* Type::signature() const {
return Function::null();
}
-
void Type::set_signature(const Function& value) const {
StorePointer(&raw_ptr()->sig_or_err_.signature_, value.raw());
}
-
void Type::SetIsResolved() const {
ASSERT(!IsResolved());
set_type_state(RawType::kResolved);
}
-
bool Type::HasResolvedTypeClass() const {
return !raw_ptr()->type_class_id_->IsHeapObject();
}
-
classid_t Type::type_class_id() const {
ASSERT(HasResolvedTypeClass());
return Smi::Value(reinterpret_cast<RawSmi*>(raw_ptr()->type_class_id_));
}
-
RawClass* Type::type_class() const {
return Isolate::Current()->class_table()->At(type_class_id());
}
-
RawUnresolvedClass* Type::unresolved_class() const {
#ifdef DEBUG
ASSERT(!HasResolvedTypeClass());
@@ -17194,7 +16206,6 @@ RawUnresolvedClass* Type::unresolved_class() const {
#endif
}
-
bool Type::IsInstantiated(Genericity genericity,
intptr_t num_free_fun_type_params,
TrailPtr trail) const {
@@ -17242,7 +16253,6 @@ bool Type::IsInstantiated(Genericity genericity,
num_free_fun_type_params, trail);
}
-
RawAbstractType* Type::InstantiateFrom(
const TypeArguments& instantiator_type_arguments,
const TypeArguments& function_type_arguments,
@@ -17313,7 +16323,6 @@ RawAbstractType* Type::InstantiateFrom(
return instantiated_type.raw();
}
-
bool Type::IsEquivalent(const Instance& other, TrailPtr trail) const {
ASSERT(!IsNull());
if (raw() == other.raw()) {
@@ -17477,12 +16486,10 @@ bool Type::IsEquivalent(const Instance& other, TrailPtr trail) const {
return true;
}
-
bool Type::IsRecursive() const {
return TypeArguments::Handle(arguments()).IsRecursive();
}
-
RawAbstractType* Type::CloneUnfinalized() const {
ASSERT(IsResolved());
if (IsFinalized()) {
@@ -17549,7 +16556,6 @@ RawAbstractType* Type::CloneUnfinalized() const {
return clone.raw();
}
-
RawAbstractType* Type::CloneUninstantiated(const Class& new_owner,
TrailPtr trail) const {
ASSERT(IsFinalized());
@@ -17629,7 +16635,6 @@ RawAbstractType* Type::CloneUninstantiated(const Class& new_owner,
return clone.raw();
}
-
RawAbstractType* Type::Canonicalize(TrailPtr trail) const {
ASSERT(IsFinalized());
if (IsCanonical() || IsMalformed()) {
@@ -17759,7 +16764,6 @@ RawAbstractType* Type::Canonicalize(TrailPtr trail) const {
return type.raw();
}
-
#if defined(DEBUG)
bool Type::CheckIsCanonical(Thread* thread) const {
if (IsMalformed()) {
@@ -17791,7 +16795,6 @@ bool Type::CheckIsCanonical(Thread* thread) const {
}
#endif // DEBUG
-
RawString* Type::EnumerateURIs() const {
if (IsDynamicType() || IsVoidType()) {
return Symbols::Empty().raw();
@@ -17828,7 +16831,6 @@ RawString* Type::EnumerateURIs() const {
return Symbols::FromConcatAll(thread, pieces);
}
-
intptr_t Type::ComputeHash() const {
ASSERT(IsFinalized());
uint32_t result = 1;
@@ -17858,33 +16860,28 @@ intptr_t Type::ComputeHash() const {
return result;
}
-
void Type::set_type_class(const Class& value) const {
ASSERT(!value.IsNull());
StorePointer(&raw_ptr()->type_class_id_,
reinterpret_cast<RawObject*>(Smi::New(value.id())));
}
-
void Type::set_unresolved_class(const Object& value) const {
ASSERT(!value.IsNull() && value.IsUnresolvedClass());
StorePointer(&raw_ptr()->type_class_id_, value.raw());
}
-
void Type::set_arguments(const TypeArguments& value) const {
ASSERT(!IsCanonical());
StorePointer(&raw_ptr()->arguments_, value.raw());
}
-
RawType* Type::New(Heap::Space space) {
RawObject* raw =
Object::Allocate(Type::kClassId, Type::InstanceSize(), space);
return reinterpret_cast<RawType*>(raw);
}
-
RawType* Type::New(const Object& clazz,
const TypeArguments& arguments,
TokenPosition token_pos,
@@ -17902,20 +16899,17 @@ RawType* Type::New(const Object& clazz,
return result.raw();
}
-
void Type::set_token_pos(TokenPosition token_pos) const {
ASSERT(!token_pos.IsClassifying());
StoreNonPointer(&raw_ptr()->token_pos_, token_pos);
}
-
void Type::set_type_state(int8_t state) const {
ASSERT((state >= RawType::kAllocated) &&
(state <= RawType::kFinalizedUninstantiated));
StoreNonPointer(&raw_ptr()->type_state_, state);
}
-
const char* Type::ToCString() const {
if (IsNull()) {
return "Type: null";
@@ -17955,7 +16949,6 @@ const char* Type::ToCString() const {
}
}
-
bool TypeRef::IsInstantiated(Genericity genericity,
intptr_t num_free_fun_type_params,
TrailPtr trail) const {
@@ -17967,7 +16960,6 @@ bool TypeRef::IsInstantiated(Genericity genericity,
ref_type.IsInstantiated(genericity, num_free_fun_type_params, trail);
}
-
bool TypeRef::IsEquivalent(const Instance& other, TrailPtr trail) const {
if (raw() == other.raw()) {
return true;
@@ -17982,7 +16974,6 @@ bool TypeRef::IsEquivalent(const Instance& other, TrailPtr trail) const {
return !ref_type.IsNull() && ref_type.IsEquivalent(other, trail);
}
-
RawTypeRef* TypeRef::InstantiateFrom(
const TypeArguments& instantiator_type_arguments,
const TypeArguments& function_type_arguments,
@@ -18009,7 +17000,6 @@ RawTypeRef* TypeRef::InstantiateFrom(
return instantiated_type_ref.raw();
}
-
RawTypeRef* TypeRef::CloneUninstantiated(const Class& new_owner,
TrailPtr trail) const {
TypeRef& cloned_type_ref = TypeRef::Handle();
@@ -18028,14 +17018,12 @@ RawTypeRef* TypeRef::CloneUninstantiated(const Class& new_owner,
return cloned_type_ref.raw();
}
-
void TypeRef::set_type(const AbstractType& value) const {
ASSERT(value.IsFunctionType() || value.HasResolvedTypeClass());
ASSERT(!value.IsTypeRef());
StorePointer(&raw_ptr()->type_, value.raw());
}
-
// A TypeRef cannot be canonical by definition. Only its referenced type can be.
// Consider the type Derived, where class Derived extends Base<Derived>.
// The first type argument of its flattened type argument vector is Derived,
@@ -18053,7 +17041,6 @@ RawAbstractType* TypeRef::Canonicalize(TrailPtr trail) const {
return raw();
}
-
#if defined(DEBUG)
bool TypeRef::CheckIsCanonical(Thread* thread) const {
AbstractType& ref_type = AbstractType::Handle(type());
@@ -18062,7 +17049,6 @@ bool TypeRef::CheckIsCanonical(Thread* thread) const {
}
#endif // DEBUG
-
RawString* TypeRef::EnumerateURIs() const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -18081,7 +17067,6 @@ RawString* TypeRef::EnumerateURIs() const {
return Symbols::FromConcatAll(thread, pieces);
}
-
intptr_t TypeRef::Hash() const {
// Do not calculate the hash of the referenced type to avoid divergence.
const AbstractType& ref_type = AbstractType::Handle(type());
@@ -18090,21 +17075,18 @@ intptr_t TypeRef::Hash() const {
return FinalizeHash(result, kHashBits);
}
-
RawTypeRef* TypeRef::New() {
RawObject* raw =
Object::Allocate(TypeRef::kClassId, TypeRef::InstanceSize(), Heap::kOld);
return reinterpret_cast<RawTypeRef*>(raw);
}
-
RawTypeRef* TypeRef::New(const AbstractType& type) {
const TypeRef& result = TypeRef::Handle(TypeRef::New());
result.set_type(type);
return result.raw();
}
-
const char* TypeRef::ToCString() const {
AbstractType& ref_type = AbstractType::Handle(type());
if (ref_type.IsNull()) {
@@ -18123,13 +17105,11 @@ const char* TypeRef::ToCString() const {
}
}
-
void TypeParameter::SetIsFinalized() const {
ASSERT(!IsFinalized());
set_type_state(RawTypeParameter::kFinalizedUninstantiated);
}
-
bool TypeParameter::IsInstantiated(Genericity genericity,
intptr_t num_free_fun_type_params,
TrailPtr trail) const {
@@ -18141,7 +17121,6 @@ bool TypeParameter::IsInstantiated(Genericity genericity,
return (genericity == kCurrentClass) || (index() >= num_free_fun_type_params);
}
-
bool TypeParameter::IsEquivalent(const Instance& other, TrailPtr trail) const {
if (raw() == other.raw()) {
return true;
@@ -18170,7 +17149,6 @@ bool TypeParameter::IsEquivalent(const Instance& other, TrailPtr trail) const {
return name() == other_type_param.name();
}
-
void TypeParameter::set_parameterized_class(const Class& value) const {
// Set value may be null.
classid_t cid = kFunctionCid; // Denotes a function type parameter.
@@ -18180,12 +17158,10 @@ void TypeParameter::set_parameterized_class(const Class& value) const {
StoreNonPointer(&raw_ptr()->parameterized_class_id_, cid);
}
-
classid_t TypeParameter::parameterized_class_id() const {
return raw_ptr()->parameterized_class_id_;
}
-
RawClass* TypeParameter::parameterized_class() const {
classid_t cid = parameterized_class_id();
if (cid == kFunctionCid) {
@@ -18194,30 +17170,25 @@ RawClass* TypeParameter::parameterized_class() const {
return Isolate::Current()->class_table()->At(cid);
}
-
void TypeParameter::set_parameterized_function(const Function& value) const {
StorePointer(&raw_ptr()->parameterized_function_, value.raw());
}
-
void TypeParameter::set_index(intptr_t value) const {
ASSERT(value >= 0);
ASSERT(Utils::IsInt(16, value));
StoreNonPointer(&raw_ptr()->index_, value);
}
-
void TypeParameter::set_name(const String& value) const {
ASSERT(value.IsSymbol());
StorePointer(&raw_ptr()->name_, value.raw());
}
-
void TypeParameter::set_bound(const AbstractType& value) const {
StorePointer(&raw_ptr()->bound_, value.raw());
}
-
RawAbstractType* TypeParameter::InstantiateFrom(
const TypeArguments& instantiator_type_arguments,
const TypeArguments& function_type_arguments,
@@ -18261,7 +17232,6 @@ RawAbstractType* TypeParameter::InstantiateFrom(
// prolog).
}
-
bool TypeParameter::CheckBound(const AbstractType& bounded_type,
const AbstractType& upper_bound,
Error* bound_error,
@@ -18324,7 +17294,6 @@ bool TypeParameter::CheckBound(const AbstractType& bounded_type,
return false;
}
-
RawAbstractType* TypeParameter::CloneUnfinalized() const {
if (IsFinalized()) {
return raw();
@@ -18336,7 +17305,6 @@ RawAbstractType* TypeParameter::CloneUnfinalized() const {
AbstractType::Handle(bound()), token_pos());
}
-
RawAbstractType* TypeParameter::CloneUninstantiated(const Class& new_owner,
TrailPtr trail) const {
ASSERT(IsFinalized());
@@ -18369,7 +17337,6 @@ RawAbstractType* TypeParameter::CloneUninstantiated(const Class& new_owner,
return clone.raw();
}
-
RawString* TypeParameter::EnumerateURIs() const {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -18395,7 +17362,6 @@ RawString* TypeParameter::EnumerateURIs() const {
return Symbols::FromConcatAll(thread, pieces);
}
-
intptr_t TypeParameter::ComputeHash() const {
ASSERT(IsFinalized());
uint32_t result;
@@ -18412,14 +17378,12 @@ intptr_t TypeParameter::ComputeHash() const {
return result;
}
-
RawTypeParameter* TypeParameter::New() {
RawObject* raw = Object::Allocate(TypeParameter::kClassId,
TypeParameter::InstanceSize(), Heap::kOld);
return reinterpret_cast<RawTypeParameter*>(raw);
}
-
RawTypeParameter* TypeParameter::New(const Class& parameterized_class,
const Function& parameterized_function,
intptr_t index,
@@ -18440,13 +17404,11 @@ RawTypeParameter* TypeParameter::New(const Class& parameterized_class,
return result.raw();
}
-
void TypeParameter::set_token_pos(TokenPosition token_pos) const {
ASSERT(!token_pos.IsClassifying());
StoreNonPointer(&raw_ptr()->token_pos_, token_pos);
}
-
void TypeParameter::set_type_state(int8_t state) const {
ASSERT((state == RawTypeParameter::kAllocated) ||
(state == RawTypeParameter::kBeingFinalized) ||
@@ -18454,7 +17416,6 @@ void TypeParameter::set_type_state(int8_t state) const {
StoreNonPointer(&raw_ptr()->type_state_, state);
}
-
const char* TypeParameter::ToCString() const {
const char* name_cstr = String::Handle(Name()).ToCString();
const AbstractType& upper_bound = AbstractType::Handle(bound());
@@ -18485,27 +17446,22 @@ const char* TypeParameter::ToCString() const {
}
}
-
bool BoundedType::IsMalformed() const {
return AbstractType::Handle(type()).IsMalformed();
}
-
bool BoundedType::IsMalbounded() const {
return AbstractType::Handle(type()).IsMalbounded();
}
-
bool BoundedType::IsMalformedOrMalbounded() const {
return AbstractType::Handle(type()).IsMalformedOrMalbounded();
}
-
RawLanguageError* BoundedType::error() const {
return AbstractType::Handle(type()).error();
}
-
bool BoundedType::IsEquivalent(const Instance& other, TrailPtr trail) const {
// BoundedType are not canonicalized, because their bound may get finalized
// after the BoundedType is created and initialized.
@@ -18537,12 +17493,10 @@ bool BoundedType::IsEquivalent(const Instance& other, TrailPtr trail) const {
this_bound.Equals(other_bound); // Different graph, do not pass trail.
}
-
bool BoundedType::IsRecursive() const {
return AbstractType::Handle(type()).IsRecursive();
}
-
void BoundedType::set_type(const AbstractType& value) const {
ASSERT(value.IsFinalized() || value.IsBeingFinalized() ||
value.IsTypeParameter());
@@ -18550,7 +17504,6 @@ void BoundedType::set_type(const AbstractType& value) const {
StorePointer(&raw_ptr()->type_, value.raw());
}
-
void BoundedType::set_bound(const AbstractType& value) const {
// The bound may still be unfinalized because of legal cycles.
// It must be finalized before it is checked at run time, though.
@@ -18558,7 +17511,6 @@ void BoundedType::set_bound(const AbstractType& value) const {
StorePointer(&raw_ptr()->bound_, value.raw());
}
-
void BoundedType::set_type_parameter(const TypeParameter& value) const {
// A null type parameter is set when marking a type malformed because of a
// bound error at compile time.
@@ -18566,7 +17518,6 @@ void BoundedType::set_type_parameter(const TypeParameter& value) const {
StorePointer(&raw_ptr()->type_parameter_, value.raw());
}
-
RawAbstractType* BoundedType::InstantiateFrom(
const TypeArguments& instantiator_type_arguments,
const TypeArguments& function_type_arguments,
@@ -18641,7 +17592,6 @@ RawAbstractType* BoundedType::InstantiateFrom(
return instantiated_bounded_type.raw();
}
-
RawAbstractType* BoundedType::CloneUnfinalized() const {
if (IsFinalized()) {
return raw();
@@ -18658,7 +17608,6 @@ RawAbstractType* BoundedType::CloneUnfinalized() const {
TypeParameter::Handle(type_parameter()));
}
-
RawAbstractType* BoundedType::CloneUninstantiated(const Class& new_owner,
TrailPtr trail) const {
if (IsInstantiated()) {
@@ -18673,13 +17622,11 @@ RawAbstractType* BoundedType::CloneUninstantiated(const Class& new_owner,
return BoundedType::New(bounded_type, upper_bound, type_param);
}
-
RawString* BoundedType::EnumerateURIs() const {
// The bound does not appear in the user visible name.
return AbstractType::Handle(type()).EnumerateURIs();
}
-
intptr_t BoundedType::ComputeHash() const {
uint32_t result = AbstractType::Handle(type()).Hash();
// No need to include the hash of the bound, since the bound is defined by the
@@ -18691,14 +17638,12 @@ intptr_t BoundedType::ComputeHash() const {
return result;
}
-
RawBoundedType* BoundedType::New() {
RawObject* raw = Object::Allocate(BoundedType::kClassId,
BoundedType::InstanceSize(), Heap::kOld);
return reinterpret_cast<RawBoundedType*>(raw);
}
-
RawBoundedType* BoundedType::New(const AbstractType& type,
const AbstractType& bound,
const TypeParameter& type_parameter) {
@@ -18710,7 +17655,6 @@ RawBoundedType* BoundedType::New(const AbstractType& type,
return result.raw();
}
-
const char* BoundedType::ToCString() const {
const char* format = "BoundedType: type %s; bound: %s; type param: %s of %s";
const char* type_cstr =
@@ -18730,22 +17674,18 @@ const char* BoundedType::ToCString() const {
return chars;
}
-
TokenPosition MixinAppType::token_pos() const {
return AbstractType::Handle(MixinTypeAt(0)).token_pos();
}
-
intptr_t MixinAppType::Depth() const {
return Array::Handle(mixin_types()).Length();
}
-
RawString* MixinAppType::Name() const {
return String::New("MixinAppType");
}
-
const char* MixinAppType::ToCString() const {
const char* format = "MixinAppType: super type: %s; first mixin type: %s";
const char* super_type_cstr =
@@ -18759,22 +17699,18 @@ const char* MixinAppType::ToCString() const {
return chars;
}
-
RawAbstractType* MixinAppType::MixinTypeAt(intptr_t depth) const {
return AbstractType::RawCast(Array::Handle(mixin_types()).At(depth));
}
-
void MixinAppType::set_super_type(const AbstractType& value) const {
StorePointer(&raw_ptr()->super_type_, value.raw());
}
-
void MixinAppType::set_mixin_types(const Array& value) const {
StorePointer(&raw_ptr()->mixin_types_, value.raw());
}
-
RawMixinAppType* MixinAppType::New() {
// MixinAppType objects do not survive finalization, so allocate
// on new heap.
@@ -18783,7 +17719,6 @@ RawMixinAppType* MixinAppType::New() {
return reinterpret_cast<RawMixinAppType*>(raw);
}
-
RawMixinAppType* MixinAppType::New(const AbstractType& super_type,
const Array& mixin_types) {
const MixinAppType& result = MixinAppType::Handle(MixinAppType::New());
@@ -18792,7 +17727,6 @@ RawMixinAppType* MixinAppType::New(const AbstractType& super_type,
return result.raw();
}
-
RawInstance* Number::CheckAndCanonicalize(Thread* thread,
const char** error_str) const {
intptr_t cid = GetClassId();
@@ -18847,7 +17781,6 @@ RawInstance* Number::CheckAndCanonicalize(Thread* thread,
return Instance::null();
}
-
#if defined(DEBUG)
bool Number::CheckIsCanonical(Thread* thread) const {
intptr_t cid = GetClassId();
@@ -18879,21 +17812,18 @@ bool Number::CheckIsCanonical(Thread* thread) const {
}
#endif // DEBUG
-
const char* Number::ToCString() const {
// Number is an interface. No instances of Number should exist.
UNREACHABLE();
return "Number";
}
-
const char* Integer::ToCString() const {
// Integer is an interface. No instances of Integer should exist except null.
ASSERT(IsNull());
return "NULL Integer";
}
-
RawInteger* Integer::New(const String& str, Heap::Space space) {
// We are not supposed to have integers represented as two byte strings.
ASSERT(str.IsOneByteString());
@@ -18912,7 +17842,6 @@ RawInteger* Integer::New(const String& str, Heap::Space space) {
return Integer::New(value, space);
}
-
RawInteger* Integer::NewCanonical(const String& str) {
// We are not supposed to have integers represented as two byte strings.
ASSERT(str.IsOneByteString());
@@ -18933,7 +17862,6 @@ RawInteger* Integer::NewCanonical(const String& str) {
return Mint::NewCanonical(value);
}
-
RawInteger* Integer::New(int64_t value, Heap::Space space) {
const bool is_smi = Smi::IsValid(value);
if (is_smi) {
@@ -18942,7 +17870,6 @@ RawInteger* Integer::New(int64_t value, Heap::Space space) {
return Mint::New(value, space);
}
-
RawInteger* Integer::NewFromUint64(uint64_t value, Heap::Space space) {
if (value > static_cast<uint64_t>(Mint::kMaxValue)) {
if (FLAG_limit_ints_to_64_bits) {
@@ -18956,63 +17883,54 @@ RawInteger* Integer::NewFromUint64(uint64_t value, Heap::Space space) {
}
}
-
bool Integer::Equals(const Instance& other) const {
// Integer is an abstract class.
UNREACHABLE();
return false;
}
-
bool Integer::IsZero() const {
// Integer is an abstract class.
UNREACHABLE();
return false;
}
-
bool Integer::IsNegative() const {
// Integer is an abstract class.
UNREACHABLE();
return false;
}
-
double Integer::AsDoubleValue() const {
// Integer is an abstract class.
UNREACHABLE();
return 0.0;
}
-
int64_t Integer::AsInt64Value() const {
// Integer is an abstract class.
UNREACHABLE();
return 0;
}
-
uint32_t Integer::AsTruncatedUint32Value() const {
// Integer is an abstract class.
UNREACHABLE();
return 0;
}
-
bool Integer::FitsIntoSmi() const {
// Integer is an abstract class.
UNREACHABLE();
return false;
}
-
int Integer::CompareWith(const Integer& other) const {
// Integer is an abstract class.
UNREACHABLE();
return 0;
}
-
RawInteger* Integer::AsValidInteger() const {
if (IsSmi()) return raw();
if (IsMint()) {
@@ -19036,7 +17954,6 @@ RawInteger* Integer::AsValidInteger() const {
return raw();
}
-
RawInteger* Integer::ArithmeticOp(Token::Kind operation,
const Integer& other,
Heap::Space space) const {
@@ -19162,12 +18079,10 @@ RawInteger* Integer::ArithmeticOp(Token::Kind operation,
return Integer::null(); // Notify caller that a bigint operation is required.
}
-
static bool Are64bitOperands(const Integer& op1, const Integer& op2) {
return !op1.IsBigint() && !op2.IsBigint();
}
-
RawInteger* Integer::BitOp(Token::Kind kind,
const Integer& other,
Heap::Space space) const {
@@ -19208,7 +18123,6 @@ RawInteger* Integer::BitOp(Token::Kind kind,
return Integer::null(); // Notify caller that a bigint operation is required.
}
-
// TODO(srdjan): Clarify handling of negative right operand in a shift op.
RawInteger* Smi::ShiftOp(Token::Kind kind,
const Smi& other,
@@ -19255,7 +18169,6 @@ RawInteger* Smi::ShiftOp(Token::Kind kind,
return Smi::New(result);
}
-
bool Smi::Equals(const Instance& other) const {
if (other.IsNull() || !other.IsSmi()) {
return false;
@@ -19263,22 +18176,18 @@ bool Smi::Equals(const Instance& other) const {
return (this->Value() == Smi::Cast(other).Value());
}
-
double Smi::AsDoubleValue() const {
return static_cast<double>(this->Value());
}
-
int64_t Smi::AsInt64Value() const {
return this->Value();
}
-
uint32_t Smi::AsTruncatedUint32Value() const {
return this->Value() & 0xFFFFFFFF;
}
-
int Smi::CompareWith(const Integer& other) const {
if (other.IsSmi()) {
const Smi& other_smi = Smi::Cast(other);
@@ -19301,22 +18210,18 @@ int Smi::CompareWith(const Integer& other) const {
return 0;
}
-
const char* Smi::ToCString() const {
return OS::SCreate(Thread::Current()->zone(), "%" Pd "", Value());
}
-
RawClass* Smi::Class() {
return Isolate::Current()->object_store()->smi_class();
}
-
void Mint::set_value(int64_t value) const {
StoreNonPointer(&raw_ptr()->value_, value);
}
-
RawMint* Mint::New(int64_t val, Heap::Space space) {
// Do not allocate a Mint if Smi would do.
ASSERT(!Smi::IsValid(val));
@@ -19332,7 +18237,6 @@ RawMint* Mint::New(int64_t val, Heap::Space space) {
return result.raw();
}
-
RawMint* Mint::NewCanonical(int64_t value) {
// Do not allocate a Mint if Smi would do.
ASSERT(!Smi::IsValid(value));
@@ -19364,7 +18268,6 @@ RawMint* Mint::NewCanonical(int64_t value) {
}
}
-
bool Mint::Equals(const Instance& other) const {
if (this->raw() == other.raw()) {
// Both handles point to the same raw instance.
@@ -19376,27 +18279,22 @@ bool Mint::Equals(const Instance& other) const {
return value() == Mint::Cast(other).value();
}
-
double Mint::AsDoubleValue() const {
return static_cast<double>(this->value());
}
-
int64_t Mint::AsInt64Value() const {
return this->value();
}
-
uint32_t Mint::AsTruncatedUint32Value() const {
return this->value() & 0xFFFFFFFF;
}
-
bool Mint::FitsIntoSmi() const {
return Smi::IsValid(AsInt64Value());
}
-
int Mint::CompareWith(const Integer& other) const {
ASSERT(!FitsIntoSmi());
if (other.IsMint() || other.IsSmi()) {
@@ -19418,17 +18316,14 @@ int Mint::CompareWith(const Integer& other) const {
return this->IsNegative() ? -1 : 1;
}
-
const char* Mint::ToCString() const {
return OS::SCreate(Thread::Current()->zone(), "%" Pd64 "", value());
}
-
void Double::set_value(double value) const {
StoreNonPointer(&raw_ptr()->value_, value);
}
-
bool Double::BitwiseEqualsToDouble(double value) const {
intptr_t value_offset = Double::value_offset();
void* this_addr = reinterpret_cast<void*>(
@@ -19437,7 +18332,6 @@ bool Double::BitwiseEqualsToDouble(double value) const {
return (memcmp(this_addr, other_addr, sizeof(value)) == 0);
}
-
bool Double::OperatorEquals(const Instance& other) const {
if (this->IsNull() || other.IsNull()) {
return (this->IsNull() && other.IsNull());
@@ -19448,7 +18342,6 @@ bool Double::OperatorEquals(const Instance& other) const {
return this->value() == Double::Cast(other).value();
}
-
bool Double::CanonicalizeEquals(const Instance& other) const {
if (this->raw() == other.raw()) {
return true; // "===".
@@ -19459,7 +18352,6 @@ bool Double::CanonicalizeEquals(const Instance& other) const {
return BitwiseEqualsToDouble(Double::Cast(other).value());
}
-
RawDouble* Double::New(double d, Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->double_class() != Class::null());
Double& result = Double::Handle();
@@ -19473,7 +18365,6 @@ RawDouble* Double::New(double d, Heap::Space space) {
return result.raw();
}
-
RawDouble* Double::New(const String& str, Heap::Space space) {
double double_value;
if (!CStringToDouble(str.ToCString(), str.Length(), &double_value)) {
@@ -19482,7 +18373,6 @@ RawDouble* Double::New(const String& str, Heap::Space space) {
return New(double_value, space);
}
-
RawDouble* Double::NewCanonical(double value) {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -19515,7 +18405,6 @@ RawDouble* Double::NewCanonical(double value) {
}
}
-
RawDouble* Double::NewCanonical(const String& str) {
double double_value;
if (!CStringToDouble(str.ToCString(), str.Length(), &double_value)) {
@@ -19524,7 +18413,6 @@ RawDouble* Double::NewCanonical(const String& str) {
return NewCanonical(double_value);
}
-
RawString* Number::ToString(Heap::Space space) const {
// Refactoring can avoid Zone::Alloc and strlen, but gains are insignificant.
const char* cstr = ToCString();
@@ -19539,7 +18427,6 @@ RawString* Number::ToString(Heap::Space space) const {
return String::FromLatin1(reinterpret_cast<const uint8_t*>(cstr), len, space);
}
-
const char* Double::ToCString() const {
if (isnan(value())) {
return "NaN";
@@ -19554,59 +18441,49 @@ const char* Double::ToCString() const {
return buffer;
}
-
bool Bigint::Neg() const {
return Bool::Handle(neg()).value();
}
-
void Bigint::SetNeg(bool value) const {
StorePointer(&raw_ptr()->neg_, Bool::Get(value).raw());
}
-
intptr_t Bigint::Used() const {
return Smi::Value(used());
}
-
void Bigint::SetUsed(intptr_t value) const {
StoreSmi(&raw_ptr()->used_, Smi::New(value));
}
-
uint32_t Bigint::DigitAt(intptr_t index) const {
const TypedData& typed_data = TypedData::Handle(digits());
return typed_data.GetUint32(index << 2);
}
-
void Bigint::set_digits(const TypedData& value) const {
// The VM expects digits_ to be a Uint32List (not null).
ASSERT(!value.IsNull() && (value.GetClassId() == kTypedDataUint32ArrayCid));
StorePointer(&raw_ptr()->digits_, value.raw());
}
-
RawTypedData* Bigint::NewDigits(intptr_t length, Heap::Space space) {
ASSERT(length > 0);
// Account for leading zero for 64-bit processing.
return TypedData::New(kTypedDataUint32ArrayCid, length + 1, space);
}
-
uint32_t Bigint::DigitAt(const TypedData& digits, intptr_t index) {
return digits.GetUint32(index << 2);
}
-
void Bigint::SetDigitAt(const TypedData& digits,
intptr_t index,
uint32_t value) {
digits.SetUint32(index << 2, value);
}
-
bool Bigint::Equals(const Instance& other) const {
if (this->raw() == other.raw()) {
// Both handles point to the same raw instance.
@@ -19636,7 +18513,6 @@ bool Bigint::Equals(const Instance& other) const {
return true;
}
-
bool Bigint::CheckAndCanonicalizeFields(Thread* thread,
const char** error_str) const {
Zone* zone = thread->zone();
@@ -19655,7 +18531,6 @@ bool Bigint::CheckAndCanonicalizeFields(Thread* thread,
return true;
}
-
RawBigint* Bigint::New(Heap::Space space) {
// TODO(alexmarkov): Throw error or assert in --limit-ints-to-64-bits mode.
Thread* thread = Thread::Current();
@@ -19676,7 +18551,6 @@ RawBigint* Bigint::New(Heap::Space space) {
return result.raw();
}
-
RawBigint* Bigint::New(bool neg,
intptr_t used,
const TypedData& digits,
@@ -19717,7 +18591,6 @@ RawBigint* Bigint::New(bool neg,
return result.raw();
}
-
RawBigint* Bigint::NewFromInt64(int64_t value, Heap::Space space) {
// Currently only used to convert Smi or Mint to hex String, therefore do
// not throw RangeError if --limit-ints-to-64-bits.
@@ -19737,7 +18610,6 @@ RawBigint* Bigint::NewFromInt64(int64_t value, Heap::Space space) {
return New(neg, 2, digits, space);
}
-
RawBigint* Bigint::NewFromUint64(uint64_t value, Heap::Space space) {
// TODO(alexmarkov): Revise this assertion if this factory method is used
// to explicitly allocate Bigint objects in --limit-ints-to-64-bits mode.
@@ -19748,7 +18620,6 @@ RawBigint* Bigint::NewFromUint64(uint64_t value, Heap::Space space) {
return New(false, 2, digits, space);
}
-
RawBigint* Bigint::NewFromShiftedInt64(int64_t value,
intptr_t shift,
Heap::Space space) {
@@ -19778,12 +18649,12 @@ RawBigint* Bigint::NewFromShiftedInt64(int64_t value,
SetDigitAt(digits, 1 + digit_shift,
static_cast<uint32_t>(abs_value >> (32 - bit_shift)));
SetDigitAt(digits, 2 + digit_shift,
- (bit_shift == 0) ? 0 : static_cast<uint32_t>(abs_value >>
- (64 - bit_shift)));
+ (bit_shift == 0)
+ ? 0
+ : static_cast<uint32_t>(abs_value >> (64 - bit_shift)));
return New(neg, used, digits, space);
}
-
RawBigint* Bigint::NewFromCString(const char* str, Heap::Space space) {
// Allow parser to scan Bigint literal, even with --limit-ints-to-64-bits.
// TODO(alexmarkov): Throw error or assert in --limit-ints-to-64-bits mode.
@@ -19806,7 +18677,6 @@ RawBigint* Bigint::NewFromCString(const char* str, Heap::Space space) {
return New(neg, used, digits, space);
}
-
RawBigint* Bigint::NewCanonical(const String& str) {
// Allow parser to scan Bigint literal, even with --limit-ints-to-64-bits.
// TODO(alexmarkov): Throw error or assert in --limit-ints-to-64-bits mode.
@@ -19840,7 +18710,6 @@ RawBigint* Bigint::NewCanonical(const String& str) {
}
}
-
RawTypedData* Bigint::NewDigitsFromHexCString(const char* str,
intptr_t* used,
Heap::Space space) {
@@ -19872,7 +18741,6 @@ RawTypedData* Bigint::NewDigitsFromHexCString(const char* str,
return digits.raw();
}
-
RawTypedData* Bigint::NewDigitsFromDecCString(const char* str,
intptr_t* used,
Heap::Space space) {
@@ -19927,7 +18795,6 @@ RawTypedData* Bigint::NewDigitsFromDecCString(const char* str,
return digits.raw();
}
-
static double Uint64ToDouble(uint64_t x) {
#if _WIN64
// For static_cast<double>(x) MSVC x64 generates
@@ -19971,7 +18838,6 @@ static double Uint64ToDouble(uint64_t x) {
#endif
}
-
double Bigint::AsDoubleValue() const {
ASSERT(kBitsPerDigit == 32);
const intptr_t used = Used();
@@ -20106,12 +18972,10 @@ double Bigint::AsDoubleValue() const {
return Neg() ? -value : value;
}
-
bool Bigint::FitsIntoSmi() const {
return FitsIntoInt64() && Smi::IsValid(AsInt64Value());
}
-
bool Bigint::FitsIntoInt64() const {
ASSERT(Bigint::kBitsPerDigit == 32);
const intptr_t used = Used();
@@ -20126,7 +18990,6 @@ bool Bigint::FitsIntoInt64() const {
return value <= limit;
}
-
int64_t Bigint::AsTruncatedInt64Value() const {
const intptr_t used = Used();
if (used == 0) return 0;
@@ -20135,19 +18998,16 @@ int64_t Bigint::AsTruncatedInt64Value() const {
return Neg() ? -value : value;
}
-
int64_t Bigint::AsInt64Value() const {
ASSERT(FitsIntoInt64());
return AsTruncatedInt64Value();
}
-
bool Bigint::FitsIntoUint64() const {
ASSERT(Bigint::kBitsPerDigit == 32);
return !Neg() && (Used() <= 2);
}
-
uint64_t Bigint::AsUint64Value() const {
ASSERT(FitsIntoUint64());
const intptr_t used = Used();
@@ -20156,7 +19016,6 @@ uint64_t Bigint::AsUint64Value() const {
return (digit1 << 32) + DigitAt(0);
}
-
uint32_t Bigint::AsTruncatedUint32Value() const {
// Note: the previous implementation of Bigint returned the absolute value
// truncated to 32 bits, which is not consistent with Smi and Mint behavior.
@@ -20167,7 +19026,6 @@ uint32_t Bigint::AsTruncatedUint32Value() const {
return Neg() ? static_cast<uint32_t>(-static_cast<int32_t>(digit0)) : digit0;
}
-
// For positive values: Smi < Mint < Bigint.
int Bigint::CompareWith(const Integer& other) const {
ASSERT(!FitsIntoSmi());
@@ -20190,7 +19048,6 @@ int Bigint::CompareWith(const Integer& other) const {
return this->IsNegative() ? -1 : 1;
}
-
const char* Bigint::ToDecCString(Zone* zone) const {
// log10(2) ~= 0.30102999566398114.
const intptr_t kLog2Dividend = 30103;
@@ -20262,7 +19119,6 @@ const char* Bigint::ToDecCString(Zone* zone) const {
return chars;
}
-
const char* Bigint::ToHexCString(Zone* zone) const {
const intptr_t used = Used();
if (used == 0) {
@@ -20313,12 +19169,10 @@ const char* Bigint::ToHexCString(Zone* zone) const {
return chars;
}
-
const char* Bigint::ToCString() const {
return ToDecCString(Thread::Current()->zone());
}
-
// Synchronize with implementation in compiler (intrinsifier).
class StringHasher : ValueObject {
public:
@@ -20338,7 +19192,6 @@ class StringHasher : ValueObject {
uint32_t hash_;
};
-
void StringHasher::Add(const String& str, intptr_t begin_index, intptr_t len) {
ASSERT(begin_index >= 0);
ASSERT(len >= 0);
@@ -20361,14 +19214,12 @@ void StringHasher::Add(const String& str, intptr_t begin_index, intptr_t len) {
}
}
-
intptr_t String::Hash(const String& str, intptr_t begin_index, intptr_t len) {
StringHasher hasher;
hasher.Add(str, begin_index, len);
return hasher.Finalize(kHashBits);
}
-
intptr_t String::HashConcat(const String& str1, const String& str2) {
intptr_t len1 = str1.Length();
// Since String::Hash works at the code point (rune) level, a surrogate pair
@@ -20384,7 +19235,6 @@ intptr_t String::HashConcat(const String& str1, const String& str2) {
}
}
-
template <typename T>
static intptr_t HashImpl(const T* characters, intptr_t len) {
ASSERT(len >= 0);
@@ -20395,7 +19245,6 @@ static intptr_t HashImpl(const T* characters, intptr_t len) {
return hasher.Finalize(String::kHashBits);
}
-
intptr_t String::Hash(RawString* raw) {
StringHasher hasher;
uword length = Smi::Value(raw->ptr()->length_);
@@ -20424,17 +19273,14 @@ intptr_t String::Hash(RawString* raw) {
}
}
-
intptr_t String::Hash(const char* characters, intptr_t len) {
return HashImpl(characters, len);
}
-
intptr_t String::Hash(const uint8_t* characters, intptr_t len) {
return HashImpl(characters, len);
}
-
intptr_t String::Hash(const uint16_t* characters, intptr_t len) {
StringHasher hasher;
intptr_t i = 0;
@@ -20444,12 +19290,10 @@ intptr_t String::Hash(const uint16_t* characters, intptr_t len) {
return hasher.Finalize(kHashBits);
}
-
intptr_t String::Hash(const int32_t* characters, intptr_t len) {
return HashImpl(characters, len);
}
-
uint16_t String::CharAt(intptr_t index) const {
intptr_t class_id = raw()->GetClassId();
ASSERT(RawObject::IsStringClassId(class_id));
@@ -20466,7 +19310,6 @@ uint16_t String::CharAt(intptr_t index) const {
return ExternalTwoByteString::CharAt(*this, index);
}
-
Scanner::CharAtFunc String::CharAtFunc() const {
intptr_t class_id = raw()->GetClassId();
ASSERT(RawObject::IsStringClassId(class_id));
@@ -20483,7 +19326,6 @@ Scanner::CharAtFunc String::CharAtFunc() const {
return &ExternalTwoByteString::CharAt;
}
-
intptr_t String::CharSize() const {
intptr_t class_id = raw()->GetClassId();
if (class_id == kOneByteStringCid || class_id == kExternalOneByteStringCid) {
@@ -20494,7 +19336,6 @@ intptr_t String::CharSize() const {
return kTwoByteChar;
}
-
void* String::GetPeer() const {
intptr_t class_id = raw()->GetClassId();
if (class_id == kExternalOneByteStringCid) {
@@ -20504,7 +19345,6 @@ void* String::GetPeer() const {
return ExternalTwoByteString::GetPeer(*this);
}
-
bool String::Equals(const Instance& other) const {
if (this->raw() == other.raw()) {
// Both handles point to the same raw instance.
@@ -20519,7 +19359,6 @@ bool String::Equals(const Instance& other) const {
return Equals(other_string);
}
-
bool String::Equals(const String& str,
intptr_t begin_index,
intptr_t len) const {
@@ -20542,7 +19381,6 @@ bool String::Equals(const String& str,
return true;
}
-
bool String::Equals(const char* cstr) const {
ASSERT(cstr != NULL);
CodePointIterator it(*this);
@@ -20564,7 +19402,6 @@ bool String::Equals(const char* cstr) const {
return *cstr == '\0';
}
-
bool String::Equals(const uint8_t* latin1_array, intptr_t len) const {
if (len != this->Length()) {
// Lengths don't match.
@@ -20579,7 +19416,6 @@ bool String::Equals(const uint8_t* latin1_array, intptr_t len) const {
return true;
}
-
bool String::Equals(const uint16_t* utf16_array, intptr_t len) const {
if (len != this->Length()) {
// Lengths don't match.
@@ -20594,7 +19430,6 @@ bool String::Equals(const uint16_t* utf16_array, intptr_t len) const {
return true;
}
-
bool String::Equals(const int32_t* utf32_array, intptr_t len) const {
if (len < 0) return false;
intptr_t j = 0;
@@ -20613,14 +19448,12 @@ bool String::Equals(const int32_t* utf32_array, intptr_t len) const {
return j == Length();
}
-
bool String::EqualsConcat(const String& str1, const String& str2) const {
return (Length() == str1.Length() + str2.Length()) &&
str1.Equals(*this, 0, str1.Length()) &&
str2.Equals(*this, str1.Length(), str2.Length());
}
-
intptr_t String::CompareTo(const String& other) const {
const intptr_t this_len = this->Length();
const intptr_t other_len = other.IsNull() ? 0 : other.Length();
@@ -20640,7 +19473,6 @@ intptr_t String::CompareTo(const String& other) const {
return 0;
}
-
bool String::StartsWith(const String& other) const {
if (other.IsNull() || (other.Length() > this->Length())) {
return false;
@@ -20654,7 +19486,6 @@ bool String::StartsWith(const String& other) const {
return true;
}
-
RawInstance* String::CheckAndCanonicalize(Thread* thread,
const char** error_str) const {
if (IsCanonical()) {
@@ -20663,7 +19494,6 @@ RawInstance* String::CheckAndCanonicalize(Thread* thread,
return Symbols::New(Thread::Current(), *this);
}
-
#if defined(DEBUG)
bool String::CheckIsCanonical(Thread* thread) const {
Zone* zone = thread->zone();
@@ -20672,7 +19502,6 @@ bool String::CheckIsCanonical(Thread* thread) const {
}
#endif // DEBUG
-
RawString* String::New(const char* cstr, Heap::Space space) {
ASSERT(cstr != NULL);
intptr_t array_len = strlen(cstr);
@@ -20680,7 +19509,6 @@ RawString* String::New(const char* cstr, Heap::Space space) {
return String::FromUTF8(utf8_array, array_len, space);
}
-
RawString* String::FromUTF8(const uint8_t* utf8_array,
intptr_t array_len,
Heap::Space space) {
@@ -20703,14 +19531,12 @@ RawString* String::FromUTF8(const uint8_t* utf8_array,
return strobj.raw();
}
-
RawString* String::FromLatin1(const uint8_t* latin1_array,
intptr_t array_len,
Heap::Space space) {
return OneByteString::New(latin1_array, array_len, space);
}
-
RawString* String::FromUTF16(const uint16_t* utf16_array,
intptr_t array_len,
Heap::Space space) {
@@ -20727,7 +19553,6 @@ RawString* String::FromUTF16(const uint16_t* utf16_array,
return TwoByteString::New(utf16_array, array_len, space);
}
-
RawString* String::FromUTF32(const int32_t* utf32_array,
intptr_t array_len,
Heap::Space space) {
@@ -20747,7 +19572,6 @@ RawString* String::FromUTF32(const int32_t* utf32_array,
return TwoByteString::New(utf16_len, utf32_array, array_len, space);
}
-
RawString* String::New(const String& str, Heap::Space space) {
// Currently this just creates a copy of the string in the correct space.
// Once we have external string support, this will also create a heap copy of
@@ -20766,7 +19590,6 @@ RawString* String::New(const String& str, Heap::Space space) {
return result.raw();
}
-
RawString* String::NewExternal(const uint8_t* characters,
intptr_t len,
void* peer,
@@ -20775,7 +19598,6 @@ RawString* String::NewExternal(const uint8_t* characters,
return ExternalOneByteString::New(characters, len, peer, callback, space);
}
-
RawString* String::NewExternal(const uint16_t* characters,
intptr_t len,
void* peer,
@@ -20784,7 +19606,6 @@ RawString* String::NewExternal(const uint16_t* characters,
return ExternalTwoByteString::New(characters, len, peer, callback, space);
}
-
void String::Copy(const String& dst,
intptr_t dst_offset,
const uint8_t* characters,
@@ -20804,7 +19625,6 @@ void String::Copy(const String& dst,
}
}
-
void String::Copy(const String& dst,
intptr_t dst_offset,
const uint16_t* utf16_array,
@@ -20828,7 +19648,6 @@ void String::Copy(const String& dst,
}
}
-
void String::Copy(const String& dst,
intptr_t dst_offset,
const String& src,
@@ -20868,7 +19687,6 @@ void String::Copy(const String& dst,
}
}
-
RawString* String::EscapeSpecialCharacters(const String& str) {
if (str.IsOneByteString()) {
return OneByteString::EscapeSpecialCharacters(str);
@@ -20887,12 +19705,10 @@ RawString* String::EscapeSpecialCharacters(const String& str) {
String::Handle(TwoByteString::New(str, Heap::kNew)));
}
-
static bool IsPercent(int32_t c) {
return c == '%';
}
-
static bool IsHexCharacter(int32_t c) {
if (c >= '0' && c <= '9') {
return true;
@@ -20903,7 +19719,6 @@ static bool IsHexCharacter(int32_t c) {
return false;
}
-
static bool IsURISafeCharacter(int32_t c) {
if ((c >= '0') && (c <= '9')) {
return true;
@@ -20917,7 +19732,6 @@ static bool IsURISafeCharacter(int32_t c) {
return (c == '-') || (c == '_') || (c == '.') || (c == '~');
}
-
static int32_t GetHexCharacter(int32_t c) {
ASSERT(c >= 0);
ASSERT(c < 16);
@@ -20925,7 +19739,6 @@ static int32_t GetHexCharacter(int32_t c) {
return hex[c];
}
-
static int32_t GetHexValue(int32_t c) {
if (c >= '0' && c <= '9') {
return c - '0';
@@ -20937,12 +19750,10 @@ static int32_t GetHexValue(int32_t c) {
return 0;
}
-
static int32_t MergeHexCharacters(int32_t c1, int32_t c2) {
return GetHexValue(c1) << 4 | GetHexValue(c2);
}
-
const char* String::EncodeIRI(const String& str) {
const intptr_t len = Utf8::Length(str);
Zone* zone = Thread::Current()->zone();
@@ -20973,7 +19784,6 @@ const char* String::EncodeIRI(const String& str) {
return cstr;
}
-
RawString* String::DecodeIRI(const String& str) {
CodePointIterator cpi(str);
intptr_t num_escapes = 0;
@@ -21030,7 +19840,6 @@ RawString* String::DecodeIRI(const String& str) {
return FromUTF8(utf8, utf8_len);
}
-
RawString* String::NewFormatted(const char* format, ...) {
va_list args;
va_start(args, format);
@@ -21040,7 +19849,6 @@ RawString* String::NewFormatted(const char* format, ...) {
return result;
}
-
RawString* String::NewFormatted(Heap::Space space, const char* format, ...) {
va_list args;
va_start(args, format);
@@ -21050,7 +19858,6 @@ RawString* String::NewFormatted(Heap::Space space, const char* format, ...) {
return result;
}
-
RawString* String::NewFormattedV(const char* format,
va_list args,
Heap::Space space) {
@@ -21066,7 +19873,6 @@ RawString* String::NewFormattedV(const char* format,
return String::New(buffer, space);
}
-
RawString* String::Concat(const String& str1,
const String& str2,
Heap::Space space) {
@@ -21078,12 +19884,10 @@ RawString* String::Concat(const String& str1,
return OneByteString::Concat(str1, str2, space);
}
-
RawString* String::ConcatAll(const Array& strings, Heap::Space space) {
return ConcatAllRange(strings, 0, strings.Length(), space);
}
-
RawString* String::ConcatAllRange(const Array& strings,
intptr_t start,
intptr_t end,
@@ -21112,7 +19916,6 @@ RawString* String::ConcatAllRange(const Array& strings,
return TwoByteString::ConcatAll(strings, start, end, result_len, space);
}
-
RawString* String::SubString(const String& str,
intptr_t begin_index,
Heap::Space space) {
@@ -21124,7 +19927,6 @@ RawString* String::SubString(const String& str,
space);
}
-
RawString* String::SubString(Thread* thread,
const String& str,
intptr_t begin_index,
@@ -21160,7 +19962,6 @@ RawString* String::SubString(Thread* thread,
return result.raw();
}
-
const char* String::ToCString() const {
if (IsOneByteString()) {
// Quick conversion if OneByteString contains only ASCII characters.
@@ -21193,13 +19994,11 @@ const char* String::ToCString() const {
return reinterpret_cast<const char*>(result);
}
-
void String::ToUTF8(uint8_t* utf8_array, intptr_t array_len) const {
ASSERT(array_len >= Utf8::Length(*this));
Utf8::Encode(*this, reinterpret_cast<char*>(utf8_array), array_len);
}
-
static FinalizablePersistentHandle* AddFinalizer(
const Object& referent,
void* peer,
@@ -21211,7 +20010,6 @@ static FinalizablePersistentHandle* AddFinalizer(
callback, external_size);
}
-
RawString* String::MakeExternal(void* array,
intptr_t external_size,
void* peer,
@@ -21306,7 +20104,6 @@ RawString* String::MakeExternal(void* array,
return this->raw();
}
-
RawString* String::Transform(int32_t (*mapping)(int32_t ch),
const String& str,
Heap::Space space) {
@@ -21332,13 +20129,11 @@ RawString* String::Transform(int32_t (*mapping)(int32_t ch),
return TwoByteString::Transform(mapping, str, space);
}
-
RawString* String::ToUpperCase(const String& str, Heap::Space space) {
// TODO(cshapiro): create a fast-path for OneByteString instances.
return Transform(CaseMapping::ToUpper, str, space);
}
-
RawString* String::ToLowerCase(const String& str, Heap::Space space) {
// TODO(cshapiro): create a fast-path for OneByteString instances.
return Transform(CaseMapping::ToLower, str, space);
@@ -21375,7 +20170,6 @@ bool String::ParseDouble(const String& str,
result);
}
-
// Check to see if 'str1' matches 'str2' as is or
// once the private key separator is stripped from str2.
//
@@ -21428,7 +20222,6 @@ static bool EqualsIgnoringPrivateKey(const String& str1, const String& str2) {
return (str2_pos == str2_len);
}
-
#define EQUALS_IGNORING_PRIVATE_KEY(class_id, type, str1, str2) \
switch (class_id) { \
case kOneByteStringCid: \
@@ -21444,7 +20237,6 @@ static bool EqualsIgnoringPrivateKey(const String& str1, const String& str2) {
} \
UNREACHABLE();
-
bool String::EqualsIgnoringPrivateKey(const String& str1, const String& str2) {
if (str1.raw() == str2.raw()) {
return true; // Both handles point to the same raw instance.
@@ -21472,7 +20264,6 @@ bool String::EqualsIgnoringPrivateKey(const String& str1, const String& str2) {
return false;
}
-
bool String::CodePointIterator::Next() {
ASSERT(index_ >= -1);
intptr_t length = Utf16::Length(ch_);
@@ -21491,7 +20282,6 @@ bool String::CodePointIterator::Next() {
return false;
}
-
RawOneByteString* OneByteString::EscapeSpecialCharacters(const String& str) {
intptr_t len = str.Length();
if (len > 0) {
@@ -21524,7 +20314,6 @@ RawOneByteString* OneByteString::EscapeSpecialCharacters(const String& str) {
return OneByteString::raw(Symbols::Empty());
}
-
RawOneByteString* ExternalOneByteString::EscapeSpecialCharacters(
const String& str) {
intptr_t len = str.Length();
@@ -21558,7 +20347,6 @@ RawOneByteString* ExternalOneByteString::EscapeSpecialCharacters(
return OneByteString::raw(Symbols::Empty());
}
-
RawOneByteString* OneByteString::New(intptr_t len, Heap::Space space) {
ASSERT((Isolate::Current() == Dart::vm_isolate()) ||
((Isolate::Current()->object_store() != NULL) &&
@@ -21581,7 +20369,6 @@ RawOneByteString* OneByteString::New(intptr_t len, Heap::Space space) {
}
}
-
RawOneByteString* OneByteString::New(const uint8_t* characters,
intptr_t len,
Heap::Space space) {
@@ -21593,7 +20380,6 @@ RawOneByteString* OneByteString::New(const uint8_t* characters,
return OneByteString::raw(result);
}
-
RawOneByteString* OneByteString::New(const uint16_t* characters,
intptr_t len,
Heap::Space space) {
@@ -21606,7 +20392,6 @@ RawOneByteString* OneByteString::New(const uint16_t* characters,
return OneByteString::raw(result);
}
-
RawOneByteString* OneByteString::New(const int32_t* characters,
intptr_t len,
Heap::Space space) {
@@ -21619,7 +20404,6 @@ RawOneByteString* OneByteString::New(const int32_t* characters,
return OneByteString::raw(result);
}
-
RawOneByteString* OneByteString::New(const String& str, Heap::Space space) {
intptr_t len = str.Length();
const String& result = String::Handle(OneByteString::New(len, space));
@@ -21627,7 +20411,6 @@ RawOneByteString* OneByteString::New(const String& str, Heap::Space space) {
return OneByteString::raw(result);
}
-
RawOneByteString* OneByteString::New(const String& other_one_byte_string,
intptr_t other_start_index,
intptr_t other_len,
@@ -21643,7 +20426,6 @@ RawOneByteString* OneByteString::New(const String& other_one_byte_string,
return OneByteString::raw(result);
}
-
RawOneByteString* OneByteString::New(const TypedData& other_typed_data,
intptr_t other_start_index,
intptr_t other_len,
@@ -21658,7 +20440,6 @@ RawOneByteString* OneByteString::New(const TypedData& other_typed_data,
return OneByteString::raw(result);
}
-
RawOneByteString* OneByteString::New(const ExternalTypedData& other_typed_data,
intptr_t other_start_index,
intptr_t other_len,
@@ -21673,7 +20454,6 @@ RawOneByteString* OneByteString::New(const ExternalTypedData& other_typed_data,
return OneByteString::raw(result);
}
-
RawOneByteString* OneByteString::Concat(const String& str1,
const String& str2,
Heap::Space space) {
@@ -21686,7 +20466,6 @@ RawOneByteString* OneByteString::Concat(const String& str1,
return OneByteString::raw(result);
}
-
RawOneByteString* OneByteString::ConcatAll(const Array& strings,
intptr_t start,
intptr_t end,
@@ -21708,7 +20487,6 @@ RawOneByteString* OneByteString::ConcatAll(const Array& strings,
return OneByteString::raw(result);
}
-
RawOneByteString* OneByteString::Transform(int32_t (*mapping)(int32_t ch),
const String& str,
Heap::Space space) {
@@ -21724,7 +20502,6 @@ RawOneByteString* OneByteString::Transform(int32_t (*mapping)(int32_t ch),
return OneByteString::raw(result);
}
-
RawOneByteString* OneByteString::SubStringUnchecked(const String& str,
intptr_t begin_index,
intptr_t length,
@@ -21746,7 +20523,6 @@ RawOneByteString* OneByteString::SubStringUnchecked(const String& str,
return result;
}
-
void OneByteString::SetPeer(const String& str,
intptr_t external_size,
void* peer,
@@ -21759,14 +20535,12 @@ void OneByteString::SetPeer(const String& str,
Isolate::Current()->heap()->SetPeer(str.raw(), peer);
}
-
void OneByteString::Finalize(void* isolate_callback_data,
Dart_WeakPersistentHandle handle,
void* peer) {
delete reinterpret_cast<ExternalStringData<uint8_t>*>(peer);
}
-
RawTwoByteString* TwoByteString::EscapeSpecialCharacters(const String& str) {
intptr_t len = str.Length();
if (len > 0) {
@@ -21799,7 +20573,6 @@ RawTwoByteString* TwoByteString::EscapeSpecialCharacters(const String& str) {
return TwoByteString::New(0, Heap::kNew);
}
-
RawTwoByteString* TwoByteString::New(intptr_t len, Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->two_byte_string_class());
if (len < 0 || len > kMaxElements) {
@@ -21818,7 +20591,6 @@ RawTwoByteString* TwoByteString::New(intptr_t len, Heap::Space space) {
return TwoByteString::raw(result);
}
-
RawTwoByteString* TwoByteString::New(const uint16_t* utf16_array,
intptr_t array_len,
Heap::Space space) {
@@ -21831,7 +20603,6 @@ RawTwoByteString* TwoByteString::New(const uint16_t* utf16_array,
return TwoByteString::raw(result);
}
-
RawTwoByteString* TwoByteString::New(intptr_t utf16_len,
const int32_t* utf32_array,
intptr_t array_len,
@@ -21856,7 +20627,6 @@ RawTwoByteString* TwoByteString::New(intptr_t utf16_len,
return TwoByteString::raw(result);
}
-
RawTwoByteString* TwoByteString::New(const String& str, Heap::Space space) {
intptr_t len = str.Length();
const String& result = String::Handle(TwoByteString::New(len, space));
@@ -21864,7 +20634,6 @@ RawTwoByteString* TwoByteString::New(const String& str, Heap::Space space) {
return TwoByteString::raw(result);
}
-
RawTwoByteString* TwoByteString::New(const TypedData& other_typed_data,
intptr_t other_start_index,
intptr_t other_len,
@@ -21879,7 +20648,6 @@ RawTwoByteString* TwoByteString::New(const TypedData& other_typed_data,
return TwoByteString::raw(result);
}
-
RawTwoByteString* TwoByteString::New(const ExternalTypedData& other_typed_data,
intptr_t other_start_index,
intptr_t other_len,
@@ -21894,7 +20662,6 @@ RawTwoByteString* TwoByteString::New(const ExternalTypedData& other_typed_data,
return TwoByteString::raw(result);
}
-
RawTwoByteString* TwoByteString::Concat(const String& str1,
const String& str2,
Heap::Space space) {
@@ -21907,7 +20674,6 @@ RawTwoByteString* TwoByteString::Concat(const String& str1,
return TwoByteString::raw(result);
}
-
RawTwoByteString* TwoByteString::ConcatAll(const Array& strings,
intptr_t start,
intptr_t end,
@@ -21929,7 +20695,6 @@ RawTwoByteString* TwoByteString::ConcatAll(const Array& strings,
return TwoByteString::raw(result);
}
-
RawTwoByteString* TwoByteString::Transform(int32_t (*mapping)(int32_t ch),
const String& str,
Heap::Space space) {
@@ -21955,7 +20720,6 @@ RawTwoByteString* TwoByteString::Transform(int32_t (*mapping)(int32_t ch),
return TwoByteString::raw(result);
}
-
void TwoByteString::SetPeer(const String& str,
intptr_t external_size,
void* peer,
@@ -21968,14 +20732,12 @@ void TwoByteString::SetPeer(const String& str,
Isolate::Current()->heap()->SetPeer(str.raw(), peer);
}
-
void TwoByteString::Finalize(void* isolate_callback_data,
Dart_WeakPersistentHandle handle,
void* peer) {
delete reinterpret_cast<ExternalStringData<uint16_t>*>(peer);
}
-
RawExternalOneByteString* ExternalOneByteString::New(
const uint8_t* data,
intptr_t len,
@@ -22008,14 +20770,12 @@ RawExternalOneByteString* ExternalOneByteString::New(
return ExternalOneByteString::raw(result);
}
-
void ExternalOneByteString::Finalize(void* isolate_callback_data,
Dart_WeakPersistentHandle handle,
void* peer) {
delete reinterpret_cast<ExternalStringData<uint8_t>*>(peer);
}
-
RawExternalTwoByteString* ExternalTwoByteString::New(
const uint16_t* data,
intptr_t len,
@@ -22048,14 +20808,12 @@ RawExternalTwoByteString* ExternalTwoByteString::New(
return ExternalTwoByteString::raw(result);
}
-
void ExternalTwoByteString::Finalize(void* isolate_callback_data,
Dart_WeakPersistentHandle handle,
void* peer) {
delete reinterpret_cast<ExternalStringData<uint16_t>*>(peer);
}
-
RawBool* Bool::New(bool value) {
ASSERT(Isolate::Current()->object_store()->bool_class() != Class::null());
Bool& result = Bool::Handle();
@@ -22072,12 +20830,10 @@ RawBool* Bool::New(bool value) {
return result.raw();
}
-
const char* Bool::ToCString() const {
return value() ? "true" : "false";
}
-
bool Array::CanonicalizeEquals(const Instance& other) const {
if (this->raw() == other.raw()) {
// Both handles point to the same raw instance.
@@ -22116,7 +20872,6 @@ bool Array::CanonicalizeEquals(const Instance& other) const {
return true;
}
-
uword Array::ComputeCanonicalTableHash() const {
ASSERT(!IsNull());
NoSafepointScope no_safepoint;
@@ -22131,13 +20886,11 @@ uword Array::ComputeCanonicalTableHash() const {
return FinalizeHash(hash, kHashBits);
}
-
RawArray* Array::New(intptr_t len, Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->array_class() != Class::null());
return New(kClassId, len, space);
}
-
RawArray* Array::New(intptr_t class_id, intptr_t len, Heap::Space space) {
if ((len < 0) || (len > Array::kMaxElements)) {
// This should be caught before we reach here.
@@ -22152,7 +20905,6 @@ RawArray* Array::New(intptr_t class_id, intptr_t len, Heap::Space space) {
}
}
-
RawArray* Array::Slice(intptr_t start,
intptr_t count,
bool with_type_argument) const {
@@ -22169,7 +20921,6 @@ RawArray* Array::Slice(intptr_t start,
return dest.raw();
}
-
void Array::MakeImmutable() const {
if (IsImmutable()) return;
ASSERT(!IsCanonical());
@@ -22184,7 +20935,6 @@ void Array::MakeImmutable() const {
} while (tags != old_tags);
}
-
const char* Array::ToCString() const {
if (IsNull()) {
return IsImmutable() ? "_ImmutableList NULL" : "_List NULL";
@@ -22195,7 +20945,6 @@ const char* Array::ToCString() const {
return zone->PrintToString(format, Length());
}
-
RawArray* Array::Grow(const Array& source,
intptr_t new_length,
Heap::Space space) {
@@ -22217,7 +20966,6 @@ RawArray* Array::Grow(const Array& source,
return result.raw();
}
-
RawArray* Array::MakeFixedLength(const GrowableObjectArray& growable_array,
bool unique) {
ASSERT(!growable_array.IsNull());
@@ -22281,7 +21029,6 @@ RawArray* Array::MakeFixedLength(const GrowableObjectArray& growable_array,
return array.raw();
}
-
bool Array::CheckAndCanonicalizeFields(Thread* thread,
const char** error_str) const {
intptr_t len = Length();
@@ -22310,14 +21057,12 @@ bool Array::CheckAndCanonicalizeFields(Thread* thread,
return true;
}
-
RawImmutableArray* ImmutableArray::New(intptr_t len, Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->immutable_array_class() !=
Class::null());
return reinterpret_cast<RawImmutableArray*>(Array::New(kClassId, len, space));
}
-
void GrowableObjectArray::Add(const Object& value, Heap::Space space) const {
ASSERT(!IsNull());
if (Length() == Capacity()) {
@@ -22335,7 +21080,6 @@ void GrowableObjectArray::Add(const Object& value, Heap::Space space) const {
SetAt(index, value);
}
-
void GrowableObjectArray::Grow(intptr_t new_capacity, Heap::Space space) const {
ASSERT(new_capacity > Capacity());
const Array& contents = Array::Handle(data());
@@ -22344,7 +21088,6 @@ void GrowableObjectArray::Grow(intptr_t new_capacity, Heap::Space space) const {
StorePointer(&(raw_ptr()->data_), new_contents.raw());
}
-
RawObject* GrowableObjectArray::RemoveLast() const {
ASSERT(!IsNull());
ASSERT(Length() > 0);
@@ -22356,7 +21099,6 @@ RawObject* GrowableObjectArray::RemoveLast() const {
return obj.raw();
}
-
RawGrowableObjectArray* GrowableObjectArray::New(intptr_t capacity,
Heap::Space space) {
RawArray* raw_data = (capacity == 0) ? Object::empty_array().raw()
@@ -22365,7 +21107,6 @@ RawGrowableObjectArray* GrowableObjectArray::New(intptr_t capacity,
return New(data, space);
}
-
RawGrowableObjectArray* GrowableObjectArray::New(const Array& array,
Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->growable_object_array_class() !=
@@ -22383,7 +21124,6 @@ RawGrowableObjectArray* GrowableObjectArray::New(const Array& array,
return result.raw();
}
-
const char* GrowableObjectArray::ToCString() const {
if (IsNull()) {
return "_GrowableList: null";
@@ -22392,7 +21132,6 @@ const char* GrowableObjectArray::ToCString() const {
"Instance(length:%" Pd ") of '_GrowableList'", Length());
}
-
// Equivalent to Dart's operator "==" and hashCode.
class DefaultHashTraits {
public:
@@ -22428,7 +21167,6 @@ class DefaultHashTraits {
}
};
-
RawLinkedHashMap* LinkedHashMap::NewDefault(Heap::Space space) {
const Array& data = Array::Handle(Array::New(kInitialIndexSize, space));
const TypedData& index = TypedData::Handle(
@@ -22440,7 +21178,6 @@ RawLinkedHashMap* LinkedHashMap::NewDefault(Heap::Space space) {
return LinkedHashMap::New(data, index, kInitialHashMask, 0, 0, space);
}
-
RawLinkedHashMap* LinkedHashMap::New(const Array& data,
const TypedData& index,
intptr_t hash_mask,
@@ -22459,7 +21196,6 @@ RawLinkedHashMap* LinkedHashMap::New(const Array& data,
return result.raw();
}
-
RawLinkedHashMap* LinkedHashMap::NewUninitialized(Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->linked_hash_map_class() !=
Class::null());
@@ -22473,13 +21209,11 @@ RawLinkedHashMap* LinkedHashMap::NewUninitialized(Heap::Space space) {
return result.raw();
}
-
const char* LinkedHashMap::ToCString() const {
Zone* zone = Thread::Current()->zone();
return zone->PrintToString("_LinkedHashMap len:%" Pd, Length());
}
-
RawFloat32x4* Float32x4::New(float v0,
float v1,
float v2,
@@ -22501,7 +21235,6 @@ RawFloat32x4* Float32x4::New(float v0,
return result.raw();
}
-
RawFloat32x4* Float32x4::New(simd128_value_t value, Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->float32x4_class() !=
Class::null());
@@ -22516,59 +21249,48 @@ RawFloat32x4* Float32x4::New(simd128_value_t value, Heap::Space space) {
return result.raw();
}
-
simd128_value_t Float32x4::value() const {
return ReadUnaligned(
reinterpret_cast<const simd128_value_t*>(&raw_ptr()->value_));
}
-
void Float32x4::set_value(simd128_value_t value) const {
StoreUnaligned(reinterpret_cast<simd128_value_t*>(&raw()->ptr()->value_),
value);
}
-
void Float32x4::set_x(float value) const {
StoreNonPointer(&raw_ptr()->value_[0], value);
}
-
void Float32x4::set_y(float value) const {
StoreNonPointer(&raw_ptr()->value_[1], value);
}
-
void Float32x4::set_z(float value) const {
StoreNonPointer(&raw_ptr()->value_[2], value);
}
-
void Float32x4::set_w(float value) const {
StoreNonPointer(&raw_ptr()->value_[3], value);
}
-
float Float32x4::x() const {
return raw_ptr()->value_[0];
}
-
float Float32x4::y() const {
return raw_ptr()->value_[1];
}
-
float Float32x4::z() const {
return raw_ptr()->value_[2];
}
-
float Float32x4::w() const {
return raw_ptr()->value_[3];
}
-
const char* Float32x4::ToCString() const {
float _x = x();
float _y = y();
@@ -22578,7 +21300,6 @@ const char* Float32x4::ToCString() const {
_w);
}
-
RawInt32x4* Int32x4::New(int32_t v0,
int32_t v1,
int32_t v2,
@@ -22599,7 +21320,6 @@ RawInt32x4* Int32x4::New(int32_t v0,
return result.raw();
}
-
RawInt32x4* Int32x4::New(simd128_value_t value, Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->int32x4_class() != Class::null());
Int32x4& result = Int32x4::Handle();
@@ -22613,59 +21333,48 @@ RawInt32x4* Int32x4::New(simd128_value_t value, Heap::Space space) {
return result.raw();
}
-
void Int32x4::set_x(int32_t value) const {
StoreNonPointer(&raw_ptr()->value_[0], value);
}
-
void Int32x4::set_y(int32_t value) const {
StoreNonPointer(&raw_ptr()->value_[1], value);
}
-
void Int32x4::set_z(int32_t value) const {
StoreNonPointer(&raw_ptr()->value_[2], value);
}
-
void Int32x4::set_w(int32_t value) const {
StoreNonPointer(&raw_ptr()->value_[3], value);
}
-
int32_t Int32x4::x() const {
return raw_ptr()->value_[0];
}
-
int32_t Int32x4::y() const {
return raw_ptr()->value_[1];
}
-
int32_t Int32x4::z() const {
return raw_ptr()->value_[2];
}
-
int32_t Int32x4::w() const {
return raw_ptr()->value_[3];
}
-
simd128_value_t Int32x4::value() const {
return ReadUnaligned(
reinterpret_cast<const simd128_value_t*>(&raw_ptr()->value_));
}
-
void Int32x4::set_value(simd128_value_t value) const {
StoreUnaligned(reinterpret_cast<simd128_value_t*>(&raw()->ptr()->value_),
value);
}
-
const char* Int32x4::ToCString() const {
int32_t _x = x();
int32_t _y = y();
@@ -22675,7 +21384,6 @@ const char* Int32x4::ToCString() const {
_y, _z, _w);
}
-
RawFloat64x2* Float64x2::New(double value0, double value1, Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->float64x2_class() !=
Class::null());
@@ -22691,7 +21399,6 @@ RawFloat64x2* Float64x2::New(double value0, double value1, Heap::Space space) {
return result.raw();
}
-
RawFloat64x2* Float64x2::New(simd128_value_t value, Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->float64x2_class() !=
Class::null());
@@ -22706,44 +21413,36 @@ RawFloat64x2* Float64x2::New(simd128_value_t value, Heap::Space space) {
return result.raw();
}
-
double Float64x2::x() const {
return raw_ptr()->value_[0];
}
-
double Float64x2::y() const {
return raw_ptr()->value_[1];
}
-
void Float64x2::set_x(double x) const {
StoreNonPointer(&raw_ptr()->value_[0], x);
}
-
void Float64x2::set_y(double y) const {
StoreNonPointer(&raw_ptr()->value_[1], y);
}
-
simd128_value_t Float64x2::value() const {
return simd128_value_t().readFrom(&raw_ptr()->value_[0]);
}
-
void Float64x2::set_value(simd128_value_t value) const {
StoreSimd128(&raw_ptr()->value_[0], value);
}
-
const char* Float64x2::ToCString() const {
double _x = x();
double _y = y();
return OS::SCreate(Thread::Current()->zone(), "[%f, %f]", _x, _y);
}
-
const intptr_t TypedData::element_size_table[TypedData::kNumElementSizes] = {
1, // kTypedDataInt8ArrayCid.
1, // kTypedDataUint8ArrayCid.
@@ -22761,7 +21460,6 @@ const intptr_t TypedData::element_size_table[TypedData::kNumElementSizes] = {
16, // kTypedDataFloat64x2ArrayCid,
};
-
bool TypedData::CanonicalizeEquals(const Instance& other) const {
if (this->raw() == other.raw()) {
// Both handles point to the same raw instance.
@@ -22787,7 +21485,6 @@ bool TypedData::CanonicalizeEquals(const Instance& other) const {
(memcmp(DataAddr(0), other_typed_data.DataAddr(0), len) == 0);
}
-
uword TypedData::ComputeCanonicalTableHash() const {
const intptr_t len = this->LengthInBytes();
ASSERT(len != 0);
@@ -22798,7 +21495,6 @@ uword TypedData::ComputeCanonicalTableHash() const {
return FinalizeHash(hash, kHashBits);
}
-
RawTypedData* TypedData::New(intptr_t class_id,
intptr_t len,
Heap::Space space) {
@@ -22820,7 +21516,6 @@ RawTypedData* TypedData::New(intptr_t class_id,
return result.raw();
}
-
RawTypedData* TypedData::EmptyUint32Array(Thread* thread) {
ASSERT(thread != NULL);
Isolate* isolate = thread->isolate();
@@ -22836,7 +21531,6 @@ RawTypedData* TypedData::EmptyUint32Array(Thread* thread) {
return array.raw();
}
-
const char* TypedData::ToCString() const {
switch (GetClassId()) {
#define CASE_TYPED_DATA_CLASS(clazz) \
@@ -22848,7 +21542,6 @@ const char* TypedData::ToCString() const {
return "TypedData";
}
-
FinalizablePersistentHandle* ExternalTypedData::AddFinalizer(
void* peer,
Dart_WeakPersistentHandleFinalizer callback,
@@ -22856,7 +21549,6 @@ FinalizablePersistentHandle* ExternalTypedData::AddFinalizer(
return dart::AddFinalizer(*this, peer, callback, external_size);
}
-
RawExternalTypedData* ExternalTypedData::New(intptr_t class_id,
uint8_t* data,
intptr_t len,
@@ -22873,12 +21565,10 @@ RawExternalTypedData* ExternalTypedData::New(intptr_t class_id,
return result.raw();
}
-
const char* ExternalTypedData::ToCString() const {
return "ExternalTypedData";
}
-
RawCapability* Capability::New(uint64_t id, Heap::Space space) {
Capability& result = Capability::Handle();
{
@@ -22891,12 +21581,10 @@ RawCapability* Capability::New(uint64_t id, Heap::Space space) {
return result.raw();
}
-
const char* Capability::ToCString() const {
return "Capability";
}
-
RawReceivePort* ReceivePort::New(Dart_Port id,
bool is_control_port,
Heap::Space space) {
@@ -22922,17 +21610,14 @@ RawReceivePort* ReceivePort::New(Dart_Port id,
return result.raw();
}
-
const char* ReceivePort::ToCString() const {
return "ReceivePort";
}
-
RawSendPort* SendPort::New(Dart_Port id, Heap::Space space) {
return New(id, Isolate::Current()->origin_id(), space);
}
-
RawSendPort* SendPort::New(Dart_Port id,
Dart_Port origin_id,
Heap::Space space) {
@@ -22949,12 +21634,10 @@ RawSendPort* SendPort::New(Dart_Port id,
return result.raw();
}
-
const char* SendPort::ToCString() const {
return "SendPort";
}
-
const char* Closure::ToCString() const {
const Function& fun = Function::Handle(function());
const bool is_implicit_closure = fun.IsImplicitClosureFunction();
@@ -22965,7 +21648,6 @@ const char* Closure::ToCString() const {
from, fun_desc);
}
-
RawClosure* Closure::New(const TypeArguments& instantiator_type_arguments,
const TypeArguments& function_type_arguments,
const Function& function,
@@ -22987,70 +21669,58 @@ RawClosure* Closure::New(const TypeArguments& instantiator_type_arguments,
return result.raw();
}
-
RawClosure* Closure::New() {
RawObject* raw =
Object::Allocate(Closure::kClassId, Closure::InstanceSize(), Heap::kOld);
return reinterpret_cast<RawClosure*>(raw);
}
-
intptr_t StackTrace::Length() const {
const Array& code_array = Array::Handle(raw_ptr()->code_array_);
return code_array.Length();
}
-
RawCode* StackTrace::CodeAtFrame(intptr_t frame_index) const {
const Array& code_array = Array::Handle(raw_ptr()->code_array_);
return reinterpret_cast<RawCode*>(code_array.At(frame_index));
}
-
void StackTrace::SetCodeAtFrame(intptr_t frame_index, const Code& code) const {
const Array& code_array = Array::Handle(raw_ptr()->code_array_);
code_array.SetAt(frame_index, code);
}
-
RawSmi* StackTrace::PcOffsetAtFrame(intptr_t frame_index) const {
const Array& pc_offset_array = Array::Handle(raw_ptr()->pc_offset_array_);
return reinterpret_cast<RawSmi*>(pc_offset_array.At(frame_index));
}
-
void StackTrace::SetPcOffsetAtFrame(intptr_t frame_index,
const Smi& pc_offset) const {
const Array& pc_offset_array = Array::Handle(raw_ptr()->pc_offset_array_);
pc_offset_array.SetAt(frame_index, pc_offset);
}
-
void StackTrace::set_async_link(const StackTrace& async_link) const {
StorePointer(&raw_ptr()->async_link_, async_link.raw());
}
-
void StackTrace::set_code_array(const Array& code_array) const {
StorePointer(&raw_ptr()->code_array_, code_array.raw());
}
-
void StackTrace::set_pc_offset_array(const Array& pc_offset_array) const {
StorePointer(&raw_ptr()->pc_offset_array_, pc_offset_array.raw());
}
-
void StackTrace::set_expand_inlined(bool value) const {
StoreNonPointer(&raw_ptr()->expand_inlined_, value);
}
-
bool StackTrace::expand_inlined() const {
return raw_ptr()->expand_inlined_;
}
-
RawStackTrace* StackTrace::New(const Array& code_array,
const Array& pc_offset_array,
Heap::Space space) {
@@ -23067,7 +21737,6 @@ RawStackTrace* StackTrace::New(const Array& code_array,
return result.raw();
}
-
RawStackTrace* StackTrace::New(const Array& code_array,
const Array& pc_offset_array,
const StackTrace& async_link,
@@ -23086,7 +21755,6 @@ RawStackTrace* StackTrace::New(const Array& code_array,
return result.raw();
}
-
static void PrintStackTraceFrame(Zone* zone,
ZoneTextBuffer* buffer,
const Function& function,
@@ -23122,7 +21790,6 @@ static void PrintStackTraceFrame(Zone* zone,
}
}
-
const char* StackTrace::ToDartCString(const StackTrace& stack_trace_in) {
Zone* zone = Thread::Current()->zone();
StackTrace& stack_trace = StackTrace::Handle(zone, stack_trace_in.raw());
@@ -23190,7 +21857,6 @@ const char* StackTrace::ToDartCString(const StackTrace& stack_trace_in) {
return buffer.buffer();
}
-
const char* StackTrace::ToDwarfCString(const StackTrace& stack_trace_in) {
#if defined(DART_PRECOMPILER) || defined(DART_PRECOMPILED_RUNTIME)
Zone* zone = Thread::Current()->zone();
@@ -23264,7 +21930,6 @@ const char* StackTrace::ToDwarfCString(const StackTrace& stack_trace_in) {
#endif // defined(DART_PRECOMPILER) || defined(DART_PRECOMPILED_RUNTIME)
}
-
const char* StackTrace::ToCString() const {
#if defined(DART_PRECOMPILER) || defined(DART_PRECOMPILED_RUNTIME)
if (FLAG_dwarf_stack_traces) {
@@ -23274,19 +21939,16 @@ const char* StackTrace::ToCString() const {
return ToDartCString(*this);
}
-
void RegExp::set_pattern(const String& pattern) const {
StorePointer(&raw_ptr()->pattern_, pattern.raw());
}
-
void RegExp::set_function(intptr_t cid,
bool sticky,
const Function& value) const {
StorePointer(FunctionAddr(cid, sticky), value.raw());
}
-
void RegExp::set_bytecode(bool is_one_byte,
bool sticky,
const TypedData& bytecode) const {
@@ -23305,12 +21967,10 @@ void RegExp::set_bytecode(bool is_one_byte,
}
}
-
void RegExp::set_num_bracket_expressions(intptr_t value) const {
StoreSmi(&raw_ptr()->num_bracket_expressions_, Smi::New(value));
}
-
RawRegExp* RegExp::New(Heap::Space space) {
RegExp& result = RegExp::Handle();
{
@@ -23325,13 +21985,11 @@ RawRegExp* RegExp::New(Heap::Space space) {
return result.raw();
}
-
void* RegExp::GetDataStartAddress() const {
intptr_t addr = reinterpret_cast<intptr_t>(raw_ptr());
return reinterpret_cast<void*>(addr + sizeof(RawRegExp));
}
-
RawRegExp* RegExp::FromDataStartAddress(void* data) {
RegExp& regexp = RegExp::Handle();
intptr_t addr = reinterpret_cast<intptr_t>(data) - sizeof(RawRegExp);
@@ -23339,7 +21997,6 @@ RawRegExp* RegExp::FromDataStartAddress(void* data) {
return regexp.raw();
}
-
const char* RegExp::Flags() const {
switch (flags()) {
case kGlobal | kIgnoreCase | kMultiLine:
@@ -23357,7 +22014,6 @@ const char* RegExp::Flags() const {
return "";
}
-
bool RegExp::CanonicalizeEquals(const Instance& other) const {
if (this->raw() == other.raw()) {
return true; // "===".
@@ -23381,14 +22037,12 @@ bool RegExp::CanonicalizeEquals(const Instance& other) const {
return true;
}
-
const char* RegExp::ToCString() const {
const String& str = String::Handle(pattern());
return OS::SCreate(Thread::Current()->zone(), "RegExp: pattern=%s flags=%s",
str.ToCString(), Flags());
}
-
RawWeakProperty* WeakProperty::New(Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->weak_property_class() !=
Class::null());
@@ -23399,48 +22053,40 @@ RawWeakProperty* WeakProperty::New(Heap::Space space) {
return result;
}
-
const char* WeakProperty::ToCString() const {
return "_WeakProperty";
}
-
RawAbstractType* MirrorReference::GetAbstractTypeReferent() const {
ASSERT(Object::Handle(referent()).IsAbstractType());
return AbstractType::Cast(Object::Handle(referent())).raw();
}
-
RawClass* MirrorReference::GetClassReferent() const {
ASSERT(Object::Handle(referent()).IsClass());
return Class::Cast(Object::Handle(referent())).raw();
}
-
RawField* MirrorReference::GetFieldReferent() const {
ASSERT(Object::Handle(referent()).IsField());
return Field::Cast(Object::Handle(referent())).raw();
}
-
RawFunction* MirrorReference::GetFunctionReferent() const {
ASSERT(Object::Handle(referent()).IsFunction());
return Function::Cast(Object::Handle(referent())).raw();
}
-
RawLibrary* MirrorReference::GetLibraryReferent() const {
ASSERT(Object::Handle(referent()).IsLibrary());
return Library::Cast(Object::Handle(referent())).raw();
}
-
RawTypeParameter* MirrorReference::GetTypeParameterReferent() const {
ASSERT(Object::Handle(referent()).IsTypeParameter());
return TypeParameter::Cast(Object::Handle(referent())).raw();
}
-
RawMirrorReference* MirrorReference::New(const Object& referent,
Heap::Space space) {
MirrorReference& result = MirrorReference::Handle();
@@ -23454,19 +22100,16 @@ RawMirrorReference* MirrorReference::New(const Object& referent,
return result.raw();
}
-
const char* MirrorReference::ToCString() const {
return "_MirrorReference";
}
-
void UserTag::MakeActive() const {
Isolate* isolate = Isolate::Current();
ASSERT(isolate != NULL);
isolate->set_current_tag(*this);
}
-
RawUserTag* UserTag::New(const String& label, Heap::Space space) {
Thread* thread = Thread::Current();
Isolate* isolate = thread->isolate();
@@ -23496,7 +22139,6 @@ RawUserTag* UserTag::New(const String& label, Heap::Space space) {
return result.raw();
}
-
RawUserTag* UserTag::DefaultTag() {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -23514,7 +22156,6 @@ RawUserTag* UserTag::DefaultTag() {
return result.raw();
}
-
RawUserTag* UserTag::FindTagInIsolate(Thread* thread, const String& label) {
Isolate* isolate = thread->isolate();
Zone* zone = thread->zone();
@@ -23535,7 +22176,6 @@ RawUserTag* UserTag::FindTagInIsolate(Thread* thread, const String& label) {
return UserTag::null();
}
-
void UserTag::AddTagToIsolate(Thread* thread, const UserTag& tag) {
Isolate* isolate = thread->isolate();
Zone* zone = thread->zone();
@@ -23561,7 +22201,6 @@ void UserTag::AddTagToIsolate(Thread* thread, const UserTag& tag) {
tag_table.Add(tag);
}
-
bool UserTag::TagTableIsFull(Thread* thread) {
Isolate* isolate = thread->isolate();
ASSERT(isolate->tag_table() != GrowableObjectArray::null());
@@ -23571,7 +22210,6 @@ bool UserTag::TagTableIsFull(Thread* thread) {
return tag_table.Length() == UserTags::kMaxUserTags;
}
-
RawUserTag* UserTag::FindTagById(uword tag_id) {
Thread* thread = Thread::Current();
Zone* zone = thread->zone();
@@ -23589,7 +22227,6 @@ RawUserTag* UserTag::FindTagById(uword tag_id) {
return UserTag::null();
}
-
const char* UserTag::ToCString() const {
const String& tag_label = String::Handle(label());
return tag_label.ToCString();
« no previous file with comments | « runtime/vm/object.h ('k') | runtime/vm/object_arm64_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698