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< FieldTypeOptimalType (Isolate *isolate, Representation representation)
 
bool HasValidElements ()
 
bool BooleanValue (Isolate *isolate)
 
bool StrictEquals (Object *that)
 
ObjectGetHash ()
 
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
HeapGetHeap () const
 
IsolateGetIsolate () const
 

Static Public Member Functions

static MaybeHandle< BigIntMakeImmutable (MaybeHandle< MutableBigInt > maybe)
 
static Handle< BigIntMakeImmutable (Handle< MutableBigInt > result)
 
static MaybeHandle< MutableBigIntNew (Isolate *isolate, int length, PretenureFlag pretenure=NOT_TENURED)
 
static Handle< BigIntNewFromInt (Isolate *isolate, int value)
 
static Handle< BigIntNewFromDouble (Isolate *isolate, double value)
 
static Handle< MutableBigIntCopy (Isolate *isolate, Handle< BigIntBase > source)
 
static Handle< BigIntZero (Isolate *isolate)
 
static Handle< MutableBigIntCast (Handle< FreshlyAllocatedBigInt > bigint)
 
static MaybeHandle< MutableBigIntBitwiseAnd (Isolate *isolate, Handle< BigInt > x, Handle< BigInt > y)
 
static MaybeHandle< MutableBigIntBitwiseXor (Isolate *isolate, Handle< BigInt > x, Handle< BigInt > y)
 
static MaybeHandle< MutableBigIntBitwiseOr (Isolate *isolate, Handle< BigInt > x, Handle< BigInt > y)
 
static Handle< BigIntTruncateToNBits (Isolate *isolate, int n, Handle< BigInt > x)
 
static Handle< BigIntTruncateAndSubFromPowerOfTwo (Isolate *isolate, int n, Handle< BigInt > x, bool result_sign)
 
static MaybeHandle< BigIntAbsoluteAdd (Isolate *isolate, Handle< BigInt > x, Handle< BigInt > y, bool result_sign)
 
static Handle< BigIntAbsoluteSub (Isolate *isolate, Handle< BigInt > x, Handle< BigInt > y, bool result_sign)
 
static MaybeHandle< MutableBigIntAbsoluteAddOne (Isolate *isolate, Handle< BigIntBase > x, bool sign, MutableBigInt *result_storage=nullptr)
 
static Handle< MutableBigIntAbsoluteSubOne (Isolate *isolate, Handle< BigIntBase > x)
 
static MaybeHandle< MutableBigIntAbsoluteSubOne (Isolate *isolate, Handle< BigIntBase > x, int result_length)
 
static Handle< MutableBigIntAbsoluteBitwiseOp (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< MutableBigIntAbsoluteAnd (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y, MutableBigInt *result_storage=nullptr)
 
static Handle< MutableBigIntAbsoluteAndNot (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y, MutableBigInt *result_storage=nullptr)
 
static Handle< MutableBigIntAbsoluteOr (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y, MutableBigInt *result_storage=nullptr)
 
static Handle< MutableBigIntAbsoluteXor (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< MutableBigIntSpecialLeftShift (Isolate *isolate, Handle< BigIntBase > x, int shift, SpecialLeftShiftMode mode)
 
static MaybeHandle< BigIntLeftShiftByAbsolute (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y)
 
static Handle< BigIntRightShiftByAbsolute (Isolate *isolate, Handle< BigIntBase > x, Handle< BigIntBase > y)
 
static Handle< BigIntRightShiftByMaximum (Isolate *isolate, bool sign)
 
static Maybe< digit_tToShiftAmount (Handle< BigIntBase > x)
 
static MaybeHandle< StringToStringBasePowerOfTwo (Isolate *isolate, Handle< BigIntBase > x, int radix, ShouldThrow should_throw)
 
static MaybeHandle< StringToStringGeneric (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 FreshlyAllocatedBigIntcast (Object *object)
 
- Static Public Member Functions inherited from v8::internal::HeapObject
static HeapObjectFromAddress (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< boolIsArray (Handle< Object > object)
 
static Handle< ObjectNewStorageFor (Isolate *isolate, Handle< Object > object, Representation representation)
 
static Handle< ObjectWrapForRead (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< boolEquals (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< JSReceiverToObject (Isolate *isolate, Handle< Object > object, const char *method_name=nullptr)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< JSReceiverToObject (Isolate *isolate, Handle< Object > object, Handle< Context > native_context, const char *method_name=nullptr)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< JSReceiverConvertReceiver (Isolate *isolate, Handle< Object > object)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< NameToName (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectToPrimitive (Handle< Object > input, ToPrimitiveHint hint=ToPrimitiveHint::kDefault)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectToNumber (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectToNumeric (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectToInteger (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectToInt32 (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectToUint32 (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< StringToString (Isolate *isolate, Handle< Object > input)
 
static Handle< StringNoSideEffectsToString (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectToPropertyKey (Isolate *isolate, Handle< Object > value)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectToLength (Isolate *isolate, Handle< Object > input)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectToIndex (Isolate *isolate, Handle< Object > input, MessageTemplate error_index)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectGetMethod (Handle< JSReceiver > receiver, Handle< Name > name)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< FixedArrayCreateListFromArrayLike (Isolate *isolate, Handle< Object > object, ElementTypes element_types)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectGetLengthFromArrayLike (Isolate *isolate, Handle< JSReceiver > object)
 
static Handle< StringTypeOf (Isolate *isolate, Handle< Object > object)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectAdd (Isolate *isolate, Handle< Object > lhs, Handle< Object > rhs)
 
static V8_WARN_UNUSED_RESULT Maybe< boolGreaterThan (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT Maybe< boolGreaterThanOrEqual (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT Maybe< boolLessThan (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT Maybe< boolLessThanOrEqual (Isolate *isolate, Handle< Object > x, Handle< Object > y)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectOrdinaryHasInstance (Isolate *isolate, Handle< Object > callable, Handle< Object > object)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectInstanceOf (Isolate *isolate, Handle< Object > object, Handle< Object > callable)
 
V8_EXPORT_PRIVATE static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectGetProperty (LookupIterator *it, OnNonExistent on_non_existent=OnNonExistent::kReturnUndefined)
 
static V8_WARN_UNUSED_RESULT Maybe< boolSetProperty (LookupIterator *it, Handle< Object > value, LanguageMode language_mode, StoreOrigin store_origin)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectSetProperty (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< ObjectSetPropertyOrElement (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< boolSetSuperProperty (LookupIterator *it, Handle< Object > value, LanguageMode language_mode, StoreOrigin store_origin)
 
static V8_WARN_UNUSED_RESULT Maybe< boolCannotCreateProperty (Isolate *isolate, Handle< Object > receiver, Handle< Object > name, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT Maybe< boolWriteToReadOnlyProperty (LookupIterator *it, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT Maybe< boolWriteToReadOnlyProperty (Isolate *isolate, Handle< Object > receiver, Handle< Object > name, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT Maybe< boolRedefineIncompatibleProperty (Isolate *isolate, Handle< Object > name, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT Maybe< boolSetDataProperty (LookupIterator *it, Handle< Object > value)
 
static V8_WARN_UNUSED_RESULT Maybe< boolAddDataProperty (LookupIterator *it, Handle< Object > value, PropertyAttributes attributes, ShouldThrow should_throw, StoreOrigin store_origin)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectGetPropertyOrElement (Isolate *isolate, Handle< Object > object, Handle< Name > name)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectGetPropertyOrElement (Handle< Object > receiver, Handle< Name > name, Handle< JSReceiver > holder)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectGetProperty (Isolate *isolate, Handle< Object > object, Handle< Name > name)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectGetPropertyWithAccessor (LookupIterator *it)
 
static V8_WARN_UNUSED_RESULT Maybe< boolSetPropertyWithAccessor (LookupIterator *it, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectGetPropertyWithDefinedGetter (Handle< Object > receiver, Handle< JSReceiver > getter)
 
static V8_WARN_UNUSED_RESULT Maybe< boolSetPropertyWithDefinedSetter (Handle< Object > receiver, Handle< JSReceiver > setter, Handle< Object > value, ShouldThrow should_throw)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectGetElement (Isolate *isolate, Handle< Object > object, uint32_t index)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectSetElement (Isolate *isolate, Handle< Object > object, uint32_t index, Handle< Object > value, LanguageMode language_mode)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectArraySpeciesConstructor (Isolate *isolate, Handle< Object > original_array)
 
static V8_WARN_UNUSED_RESULT MaybeHandle< ObjectSpeciesConstructor (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: