V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::MutableBigInt Class Reference
Inheritance diagram for v8::internal::MutableBigInt:
v8::internal::FreshlyAllocatedBigInt v8::internal::NeverReadOnlySpaceObject v8::internal::BigIntBase v8::internal::HeapObject v8::internal::Object

Public Types

enum  ExtraDigitsHandling { kCopy, kSkip }
 
enum  SymmetricOp { kSymmetric, kNotSymmetric }
 
enum  SpecialLeftShiftMode { kSameSizeResult, kAlwaysAddOneDigit }
 
enum  Rounding { kRoundDown, kTie, kRoundUp }
 
- Public Types inherited from v8::internal::Object
enum  Conversion { kToNumber, kToNumeric }
 

Public Member Functions

void InitializeDigits (int length, byte value=0)
 
void InplaceMultiplyAdd (uintptr_t factor, uintptr_t summand)
 
digit_t InplaceAdd (Handle< BigIntBase > summand, int start_index)
 
digit_t InplaceSub (Handle< BigIntBase > subtrahend, int start_index)
 
void InplaceRightShift (int shift)
 
void set_sign (bool new_sign)
 
void synchronized_set_length (int new_length)
 
void initialize_bitfield (bool sign, int length)
 
void set_digit (int n, digit_t value)
 
void set_64_bits (uint64_t bits)
 
- Public Member Functions inherited from v8::internal::BigIntBase
int length () const
 
int synchronized_length () const
 
 STATIC_ASSERT (kMaxLength<=((1<< kLengthFieldBits) - 1))
 
 STATIC_ASSERT (LengthBits::kNext<=32)
 
- Public Member Functions inherited from v8::internal::HeapObject
Map map () const
 
void set_map (Map value)
 
ObjectSlot map_slot ()
 
void set_map_no_write_barrier (Map value)
 
Map synchronized_map () const
 
MapWord synchronized_map_word () const
 
void synchronized_set_map (Map value)
 
void synchronized_set_map_word (MapWord map_word)
 
void set_map_after_allocation (Map value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
MapWord map_word () const
 
void set_map_word (MapWord map_word)
 
ReadOnlyRoots GetReadOnlyRoots () const
 
V8_INLINE bool IsExternal (Isolate *isolate) const
 
V8_INLINE bool IsNullOrUndefined (Isolate *isolate) const
 
V8_INLINE bool IsNullOrUndefined (ReadOnlyRoots roots) const
 
V8_INLINE bool IsNullOrUndefined () const
 
Address address () const
 
void Iterate (ObjectVisitor *v)
 
template<typename ObjectVisitor >
void IterateFast (ObjectVisitor *v)
 
void IterateBody (ObjectVisitor *v)
 
void IterateBody (Map map, int object_size, ObjectVisitor *v)
 
template<typename ObjectVisitor >
void IterateBodyFast (ObjectVisitor *v)
 
template<typename ObjectVisitor >
void IterateBodyFast (Map map, int object_size, ObjectVisitor *v)
 
bool IsValidSlot (Map map, int offset)
 
int Size () const
 
int SizeFromMap (Map map) const
 
ObjectSlot RawField (int byte_offset) const
 
MaybeObjectSlot RawMaybeWeakField (int byte_offset) const
 
WriteBarrierMode GetWriteBarrierMode (const DisallowHeapAllocation &promise)
 
void HeapObjectShortPrint (std::ostream &os)
 
bool NeedsRehashing () const
 
bool CanBeRehashed () const
 
void RehashBasedOnMap (Isolate *isolate)
 
 STATIC_ASSERT (kMapOffset==Internals::kHeapObjectMapOffset)
 
Address GetFieldAddress (int field_offset) const
 
- Public Member Functions inherited from v8::internal::Object
bool IsObject () const
 
Address ptr () const
 
V8_INLINE bool IsExternal (Isolate *isolate) const
 
V8_INLINE bool IsNullOrUndefined (Isolate *isolate) const
 
V8_INLINE bool IsNullOrUndefined (ReadOnlyRoots roots) const
 
V8_INLINE bool IsNullOrUndefined () const
 
V8_INLINE bool IsSmallOrderedHashTable () const
 
double Number () const
 
V8_INLINE bool IsNaN () const
 
V8_INLINE bool IsMinusZero () const
 
V8_EXPORT_PRIVATE bool ToInt32 (int32_t *value)
 
bool ToUint32 (uint32_t *value) const
 
Representation OptimalRepresentation ()
 
ElementsKind OptimalElementsKind ()
 
bool FitsRepresentation (Representation representation)
 
bool KeyEquals (Object *other)
 
bool FilterKey (PropertyFilter filter)
 
Handle< FieldType > OptimalType (Isolate *isolate, Representation representation)
 
bool HasValidElements ()
 
bool BooleanValue (Isolate *isolate)
 
bool StrictEquals (Object *that)
 
Object * GetHash ()
 
Smi GetOrCreateHash (Isolate *isolate)
 
V8_EXPORT_PRIVATE bool SameValue (Object *other)
 
bool SameValueZero (Object *other)
 
bool ToArrayLength (uint32_t *index) const
 
V8_WARN_UNUSED_RESULT bool ToArrayIndex (uint32_t *index) const
 
bool IterationHasObservableEffects ()
 
void VerifyApiCallResultType ()
 
void ShortPrint (FILE *out=stdout)
 
void ShortPrint (StringStream *accumulator)
 
void ShortPrint (std::ostream &os)
 
void Print ()
 
void Print (std::ostream &os)
 
- Public Member Functions inherited from v8::internal::NeverReadOnlySpaceObject
Heap * GetHeap () const
 
Isolate * GetIsolate () const
 

Static Public Member Functions

static MaybeHandle< BigInt > MakeImmutable (MaybeHandle< MutableBigInt > maybe)
 
static Handle< BigInt > MakeImmutable (Handle< MutableBigInt > result)
 
static MaybeHandle< MutableBigInt > New (Isolate *isolate, int length, PretenureFlag pretenure=NOT_TENURED)
 
static Handle< BigInt > NewFromInt (Isolate *isolate, int value)
 
static Handle< BigInt > NewFromDouble (Isolate *isolate, double value)
 
static Handle< MutableBigInt > Copy (Isolate *isolate, Handle< BigIntBase > source)
 
static Handle< BigInt > Zero (Isolate *isolate)
 
static Handle< MutableBigInt > Cast (Handle< FreshlyAllocatedBigInt > bigint)
 
static MaybeHandle< MutableBigInt > BitwiseAnd (Isolate *isolate, Handle< BigInt > x, Handle< BigInt > y)
 
static MaybeHandle< MutableBigInt > BitwiseXor (Isolate *isolate, Handle< BigInt > x, Handle< BigInt > y)
 
static MaybeHandle< MutableBigInt > BitwiseOr (Isolate *isolate, Handle< BigInt > x, Handle< BigInt > y)
 
static Handle< BigInt > TruncateToNBits (Isolate *isolate, int n, Handle< BigInt > x)
 
static Handle< BigInt > TruncateAndSubFromPowerOfTwo (Isolate *isolate, int n, Handle< BigInt > x, bool result_sign)
 
static MaybeHandle< BigInt > AbsoluteAdd (Isolate *isolate, Handle< BigInt > x, Handle< BigInt > y, bool result_sign)
 
static Handle< BigInt > AbsoluteSub (Isolate *isolate, Handle< BigInt > x, Handle< BigInt > y, bool result_sign)
 
static MaybeHandle< MutableBigInt > AbsoluteAddOne (Isolate *isolate, Handle< BigIntBase > x, bool sign, MutableBigInt *result_storage=nullptr)
 
static Handle< MutableBigInt > AbsoluteSubOne (Isolate *isolate, Handle< BigIntBase > x)
 
static MaybeHandle< MutableBigInt > AbsoluteSubOne (Isolate *isolate, Handle< BigIntBase > x, int result_length)
 
static Handle< MutableBigInt > AbsoluteBitwiseOp (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y, MutableBigInt *result_storage, ExtraDigitsHandling extra_digits, SymmetricOp symmetric, const std::function< digit_t(digit_t, digit_t)> &op)
 
static Handle< MutableBigInt > AbsoluteAnd (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y, MutableBigInt *result_storage=nullptr)
 
static Handle< MutableBigInt > AbsoluteAndNot (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y, MutableBigInt *result_storage=nullptr)
 
static Handle< MutableBigInt > AbsoluteOr (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y, MutableBigInt *result_storage=nullptr)
 
static Handle< MutableBigInt > AbsoluteXor (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y, MutableBigInt *result_storage=nullptr)
 
static int AbsoluteCompare (Handle< BigIntBase > x, Handle< BigIntBase > y)
 
static void MultiplyAccumulate (Handle< BigIntBase > multiplicand, digit_t multiplier, Handle< MutableBigInt > accumulator, int accumulator_index)
 
static void InternalMultiplyAdd (BigIntBase *source, digit_t factor, digit_t summand, int n, MutableBigInt *result)
 
static void AbsoluteDivSmall (Isolate *isolate, Handle< BigIntBase > x, digit_t divisor, Handle< MutableBigInt > *quotient, digit_t *remainder)
 
static bool AbsoluteDivLarge (Isolate *isolate, Handle< BigIntBase > dividend, Handle< BigIntBase > divisor, Handle< MutableBigInt > *quotient, Handle< MutableBigInt > *remainder)
 
static bool ProductGreaterThan (digit_t factor1, digit_t factor2, digit_t high, digit_t low)
 
static MaybeHandle< MutableBigInt > SpecialLeftShift (Isolate *isolate, Handle< BigIntBase > x, int shift, SpecialLeftShiftMode mode)
 
static MaybeHandle< BigInt > LeftShiftByAbsolute (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y)
 
static Handle< BigInt > RightShiftByAbsolute (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y)
 
static Handle< BigInt > RightShiftByMaximum (Isolate *isolate, bool sign)
 
static Maybe< digit_t > ToShiftAmount (Handle< BigIntBase > x)
 
static MaybeHandle< String > ToStringBasePowerOfTwo (Isolate *isolate, Handle< BigIntBase > x, int radix, ShouldThrow should_throw)
 
static MaybeHandle< String > ToStringGeneric (Isolate *isolate, Handle< BigIntBase > x, int radix, ShouldThrow should_throw)
 
static double ToDouble (Handle< BigIntBase > x)
 
static Rounding DecideRounding (Handle< BigIntBase > x, int mantissa_bits_unset, int digit_index, uint64_t current_digit)
 
static uint64_t GetRawBits (BigIntBase *x, bool *lossless)
 
static digit_t digit_add (digit_t a, digit_t b, digit_t *carry)
 
static digit_t digit_sub (digit_t a, digit_t b, digit_t *borrow)
 
static digit_t digit_mul (digit_t a, digit_t b, digit_t *high)
 
static digit_t digit_div (digit_t high, digit_t low, digit_t divisor, digit_t *remainder)
 
static digit_t digit_pow (digit_t base, digit_t exponent)
 
static bool digit_ismax (digit_t x)
 
- Static Public Member Functions inherited from v8::internal::FreshlyAllocatedBigInt
static FreshlyAllocatedBigInt * cast (Object *object)
 
- Static Public Member Functions inherited from v8::internal::HeapObject
static HeapObject * FromAddress (Address address)
 
static ObjectSlot RawField (const HeapObject *obj, int offset)
 
static MaybeObjectSlot RawMaybeWeakField (HeapObject *obj, int offset)
 
static AllocationAlignment RequiredAlignment (Map map)
 
- Static Public Member Functions inherited from v8::internal::Object
V8_INLINE static V8_WARN_UNUSED_RESULT Maybe< bool > IsArray (Handle< Object > object)
 
static Handle< Object > NewStorageFor (Isolate *isolate, Handle< Object > object, Representation representation)
 
static Handle< Object > WrapForRead (Isolate *isolate, Handle< Object > object, Representation representation)
 
static V8_WARN_UNUSED_RESULT Maybe< ComparisonResult > Compare (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > Equals (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< JSReceiver > ToObject (Isolate *isolate, Handle< Object > object, const char *method_name=nullptr)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< JSReceiver > ToObject (Isolate *isolate, Handle< Object > object, Handle< Context > native_context, const char *method_name=nullptr)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< JSReceiver > ConvertReceiver (Isolate *isolate, Handle< Object > object)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Name > ToName (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > ToPrimitive (Handle< Object > input, ToPrimitiveHint hint=ToPrimitiveHint::kDefault)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > ToNumber (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > ToNumeric (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > ToInteger (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > ToInt32 (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > ToUint32 (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< String > ToString (Isolate *isolate, Handle< Object > input)
 
static Handle< String > NoSideEffectsToString (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > ToPropertyKey (Isolate *isolate, Handle< Object > value)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > ToLength (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > ToIndex (Isolate *isolate, Handle< Object > input, MessageTemplate error_index)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > GetMethod (Handle< JSReceiver > receiver, Handle< Name > name)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< FixedArray > CreateListFromArrayLike (Isolate *isolate, Handle< Object > object, ElementTypes element_types)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > GetLengthFromArrayLike (Isolate *isolate, Handle< JSReceiver > object)
 
static Handle< String > TypeOf (Isolate *isolate, Handle< Object > object)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > Add (Isolate *isolate, Handle< Object > lhs, Handle< Object > rhs)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > GreaterThan (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > GreaterThanOrEqual (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > LessThan (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > LessThanOrEqual (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > OrdinaryHasInstance (Isolate *isolate, Handle< Object > callable, Handle< Object > object)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > InstanceOf (Isolate *isolate, Handle< Object > object, Handle< Object > callable)
 
V8_EXPORT_PRIVATE static V8_WARN_UNUSED_RESULT MaybeHandle< Object > GetProperty (LookupIterator *it, OnNonExistent on_non_existent=OnNonExistent::kReturnUndefined)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > SetProperty (LookupIterator *it, Handle< Object > value, LanguageMode language_mode, StoreOrigin store_origin)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > SetProperty (Isolate *isolate, Handle< Object > object, Handle< Name > name, Handle< Object > value, LanguageMode language_mode, StoreOrigin store_origin=StoreOrigin::kMaybeKeyed)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > SetPropertyOrElement (Isolate *isolate, Handle< Object > object, Handle< Name > name, Handle< Object > value, LanguageMode language_mode, StoreOrigin store_origin=StoreOrigin::kMaybeKeyed)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > SetSuperProperty (LookupIterator *it, Handle< Object > value, LanguageMode language_mode, StoreOrigin store_origin)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > CannotCreateProperty (Isolate *isolate, Handle< Object > receiver, Handle< Object > name, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > WriteToReadOnlyProperty (LookupIterator *it, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > WriteToReadOnlyProperty (Isolate *isolate, Handle< Object > receiver, Handle< Object > name, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > RedefineIncompatibleProperty (Isolate *isolate, Handle< Object > name, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > SetDataProperty (LookupIterator *it, Handle< Object > value)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > AddDataProperty (LookupIterator *it, Handle< Object > value, PropertyAttributes attributes, ShouldThrow should_throw, StoreOrigin store_origin)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > GetPropertyOrElement (Isolate *isolate, Handle< Object > object, Handle< Name > name)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > GetPropertyOrElement (Handle< Object > receiver, Handle< Name > name, Handle< JSReceiver > holder)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > GetProperty (Isolate *isolate, Handle< Object > object, Handle< Name > name)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > GetPropertyWithAccessor (LookupIterator *it)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > SetPropertyWithAccessor (LookupIterator *it, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > GetPropertyWithDefinedGetter (Handle< Object > receiver, Handle< JSReceiver > getter)
 
static V8_WARN_UNUSED_RESULT Maybe< bool > SetPropertyWithDefinedSetter (Handle< Object > receiver, Handle< JSReceiver > setter, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > GetElement (Isolate *isolate, Handle< Object > object, uint32_t index)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > SetElement (Isolate *isolate, Handle< Object > object, uint32_t index, Handle< Object > value, LanguageMode language_mode)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > ArraySpeciesConstructor (Isolate *isolate, Handle< Object > original_array)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > SpeciesConstructor (Isolate *isolate, Handle< JSReceiver > recv, Handle< JSFunction > default_ctor)
 

Additional Inherited Members

- Static Public Attributes inherited from v8::internal::BigIntBase
static const int kMaxLengthBits = kMaxInt - kPointerSize * kBitsPerByte - 1
 
static const int kMaxLength = kMaxLengthBits / (kPointerSize * kBitsPerByte)
 
static const int kLengthFieldBits = 30
 
static const int kBitfieldOffset = HeapObject::kHeaderSize
 
static const int kDigitsOffset = kBitfieldOffset + kPointerSize
 
static const int kHeaderSize = kDigitsOffset
 
- Static Public Attributes inherited from v8::internal::HeapObject
static const int kMapOffset = Object::kHeaderSize
 
static const int kHeaderSize = kMapOffset + kPointerSize
 
- Static Public Attributes inherited from v8::internal::Object
static const int kHeaderSize = 0
 

Detailed Description

Definition at line 37 of file bigint.cc.


The documentation for this class was generated from the following file: