[*] Fix: oddballs are now handled under bitwise operations
Close: #3
Last Aurora Commit: 1224fc8e
This commit is contained in:
parent
1224fc8eea
commit
37233447b6
@ -8058,7 +8058,7 @@ void CodeStubAssembler::TaggedToBigInt(TNode<Context> context,
|
||||
TVariable<Numeric>* var_bigint,
|
||||
TVariable<Smi>* var_feedback) {
|
||||
Label done(this), is_smi(this), is_heapnumber(this), maybe_bigint64(this),
|
||||
is_bigint(this), is_oddball(this);
|
||||
is_bigint(this), is_oddball(this), is_true(this), is_false(this);
|
||||
GotoIf(TaggedIsSmi(value), &is_smi);
|
||||
TNode<HeapObject> heap_object_value = CAST(value);
|
||||
TNode<Map> map = LoadMap(heap_object_value);
|
||||
@ -8104,6 +8104,14 @@ void CodeStubAssembler::TaggedToBigInt(TNode<Context> context,
|
||||
Goto(if_bigint);
|
||||
|
||||
BIND(&is_oddball);
|
||||
Branch(IsTrue(value), &is_true, &is_false);
|
||||
|
||||
BIND(&is_true);
|
||||
*var_bigint = SmiConstant(1);
|
||||
OverwriteFeedback(var_feedback, BinaryOperationFeedback::kNumberOrOddball);
|
||||
Goto(if_bigint);
|
||||
|
||||
BIND(&is_false);
|
||||
*var_bigint = SmiConstant(0);
|
||||
OverwriteFeedback(var_feedback, BinaryOperationFeedback::kNumberOrOddball);
|
||||
Goto(if_bigint);
|
||||
|
Loading…
Reference in New Issue
Block a user