| Index: runtime/lib/integers.cc
|
| diff --git a/runtime/lib/integers.cc b/runtime/lib/integers.cc
|
| index f0a6563374d0d4255b2b68df5578301db8fbffb5..a8d093956acedc415b2194f1b7f04293fca611e1 100644
|
| --- a/runtime/lib/integers.cc
|
| +++ b/runtime/lib/integers.cc
|
| @@ -5,8 +5,8 @@
|
| #include "vm/bootstrap_natives.h"
|
|
|
| #include "include/dart_api.h"
|
| -#include "vm/dart_entry.h"
|
| #include "vm/dart_api_impl.h"
|
| +#include "vm/dart_entry.h"
|
| #include "vm/exceptions.h"
|
| #include "vm/isolate.h"
|
| #include "vm/native_entry.h"
|
| @@ -38,7 +38,6 @@ static bool CheckInteger(const Integer& i) {
|
| return true;
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_bitAndFromInteger, 2) {
|
| const Integer& right = Integer::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, left, arguments->NativeArgAt(1));
|
| @@ -53,7 +52,6 @@ DEFINE_NATIVE_ENTRY(Integer_bitAndFromInteger, 2) {
|
| return result.IsNull() ? result.raw() : result.AsValidInteger();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_bitOrFromInteger, 2) {
|
| const Integer& right = Integer::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, left, arguments->NativeArgAt(1));
|
| @@ -68,7 +66,6 @@ DEFINE_NATIVE_ENTRY(Integer_bitOrFromInteger, 2) {
|
| return result.IsNull() ? result.raw() : result.AsValidInteger();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_bitXorFromInteger, 2) {
|
| const Integer& right = Integer::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, left, arguments->NativeArgAt(1));
|
| @@ -83,7 +80,6 @@ DEFINE_NATIVE_ENTRY(Integer_bitXorFromInteger, 2) {
|
| return result.IsNull() ? result.raw() : result.AsValidInteger();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_addFromInteger, 2) {
|
| const Integer& right_int = Integer::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, left_int, arguments->NativeArgAt(1));
|
| @@ -99,7 +95,6 @@ DEFINE_NATIVE_ENTRY(Integer_addFromInteger, 2) {
|
| return result.IsNull() ? result.raw() : result.AsValidInteger();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_subFromInteger, 2) {
|
| const Integer& right_int = Integer::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, left_int, arguments->NativeArgAt(1));
|
| @@ -115,7 +110,6 @@ DEFINE_NATIVE_ENTRY(Integer_subFromInteger, 2) {
|
| return result.IsNull() ? result.raw() : result.AsValidInteger();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_mulFromInteger, 2) {
|
| const Integer& right_int = Integer::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, left_int, arguments->NativeArgAt(1));
|
| @@ -131,7 +125,6 @@ DEFINE_NATIVE_ENTRY(Integer_mulFromInteger, 2) {
|
| return result.IsNull() ? result.raw() : result.AsValidInteger();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_truncDivFromInteger, 2) {
|
| const Integer& right_int = Integer::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, left_int, arguments->NativeArgAt(1));
|
| @@ -144,7 +137,6 @@ DEFINE_NATIVE_ENTRY(Integer_truncDivFromInteger, 2) {
|
| return result.IsNull() ? result.raw() : result.AsValidInteger();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_moduloFromInteger, 2) {
|
| const Integer& right_int = Integer::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, left_int, arguments->NativeArgAt(1));
|
| @@ -164,7 +156,6 @@ DEFINE_NATIVE_ENTRY(Integer_moduloFromInteger, 2) {
|
| return result.IsNull() ? result.raw() : result.AsValidInteger();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_greaterThanFromInteger, 2) {
|
| const Integer& right = Integer::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, left, arguments->NativeArgAt(1));
|
| @@ -177,7 +168,6 @@ DEFINE_NATIVE_ENTRY(Integer_greaterThanFromInteger, 2) {
|
| return Bool::Get(left.CompareWith(right) == 1).raw();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_equalToInteger, 2) {
|
| const Integer& left = Integer::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, right, arguments->NativeArgAt(1));
|
| @@ -190,7 +180,6 @@ DEFINE_NATIVE_ENTRY(Integer_equalToInteger, 2) {
|
| return Bool::Get(left.CompareWith(right) == 0).raw();
|
| }
|
|
|
| -
|
| static RawInteger* ParseInteger(const String& value) {
|
| // Used by both Integer_parse and Integer_fromEnvironment.
|
| if (value.IsOneByteString()) {
|
| @@ -223,13 +212,11 @@ static RawInteger* ParseInteger(const String& value) {
|
| return Integer::null();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_parse, 1) {
|
| GET_NON_NULL_NATIVE_ARGUMENT(String, value, arguments->NativeArgAt(0));
|
| return ParseInteger(value);
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Integer_fromEnvironment, 3) {
|
| GET_NON_NULL_NATIVE_ARGUMENT(String, name, arguments->NativeArgAt(1));
|
| GET_NATIVE_ARGUMENT(Integer, default_value, arguments->NativeArgAt(2));
|
| @@ -248,7 +235,6 @@ DEFINE_NATIVE_ENTRY(Integer_fromEnvironment, 3) {
|
| return default_value.raw();
|
| }
|
|
|
| -
|
| static RawInteger* ShiftOperationHelper(Token::Kind kind,
|
| const Integer& value,
|
| const Smi& amount) {
|
| @@ -290,7 +276,6 @@ static RawInteger* ShiftOperationHelper(Token::Kind kind,
|
| return Integer::null();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Smi_bitAndFromSmi, 2) {
|
| const Smi& left = Smi::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Smi, right, arguments->NativeArgAt(1));
|
| @@ -303,7 +288,6 @@ DEFINE_NATIVE_ENTRY(Smi_bitAndFromSmi, 2) {
|
| return Smi::New(left_value.Value() & right_value.Value());
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Smi_shrFromInt, 2) {
|
| const Smi& amount = Smi::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, value, arguments->NativeArgAt(1));
|
| @@ -315,7 +299,6 @@ DEFINE_NATIVE_ENTRY(Smi_shrFromInt, 2) {
|
| return result.IsNull() ? result.raw() : result.AsValidInteger();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Smi_shlFromInt, 2) {
|
| const Smi& amount = Smi::CheckedHandle(arguments->NativeArgAt(0));
|
| GET_NON_NULL_NATIVE_ARGUMENT(Integer, value, arguments->NativeArgAt(1));
|
| @@ -331,7 +314,6 @@ DEFINE_NATIVE_ENTRY(Smi_shlFromInt, 2) {
|
| return result.IsNull() ? result.raw() : result.AsValidInteger();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Smi_bitNegate, 1) {
|
| const Smi& operand = Smi::CheckedHandle(arguments->NativeArgAt(0));
|
| if (FLAG_trace_intrinsified_natives) {
|
| @@ -342,7 +324,6 @@ DEFINE_NATIVE_ENTRY(Smi_bitNegate, 1) {
|
| return Smi::New(result);
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Smi_bitLength, 1) {
|
| const Smi& operand = Smi::CheckedHandle(arguments->NativeArgAt(0));
|
| if (FLAG_trace_intrinsified_natives) {
|
| @@ -354,7 +335,6 @@ DEFINE_NATIVE_ENTRY(Smi_bitLength, 1) {
|
| return Smi::New(result);
|
| }
|
|
|
| -
|
| // Mint natives.
|
|
|
| DEFINE_NATIVE_ENTRY(Mint_bitNegate, 1) {
|
| @@ -367,7 +347,6 @@ DEFINE_NATIVE_ENTRY(Mint_bitNegate, 1) {
|
| return Integer::New(result);
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Mint_bitLength, 1) {
|
| const Mint& operand = Mint::CheckedHandle(arguments->NativeArgAt(0));
|
| ASSERT(CheckInteger(operand));
|
| @@ -380,7 +359,6 @@ DEFINE_NATIVE_ENTRY(Mint_bitLength, 1) {
|
| return Smi::New(result);
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Mint_shlFromInt, 2) {
|
| // Use the preallocated out of memory exception to avoid calling
|
| // into dart code or allocating any code.
|
| @@ -391,7 +369,6 @@ DEFINE_NATIVE_ENTRY(Mint_shlFromInt, 2) {
|
| return 0;
|
| }
|
|
|
| -
|
| // Bigint natives.
|
|
|
| DEFINE_NATIVE_ENTRY(Bigint_getNeg, 1) {
|
| @@ -399,19 +376,16 @@ DEFINE_NATIVE_ENTRY(Bigint_getNeg, 1) {
|
| return bigint.neg();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Bigint_getUsed, 1) {
|
| const Bigint& bigint = Bigint::CheckedHandle(arguments->NativeArgAt(0));
|
| return bigint.used();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Bigint_getDigits, 1) {
|
| const Bigint& bigint = Bigint::CheckedHandle(arguments->NativeArgAt(0));
|
| return bigint.digits();
|
| }
|
|
|
| -
|
| DEFINE_NATIVE_ENTRY(Bigint_allocate, 4) {
|
| // TODO(alexmarkov): Revise this assertion if this native method can be used
|
| // to explicitly allocate Bigint objects in --limit-ints-to-64-bits mode.
|
|
|