lrn@google.com
86edf90273
Add num.sign getter.
...
BUG= http://dartbug.com/15580
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//113833002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31126 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-13 12:10:23 +00:00
srdjan@google.com
16f4e5c690
Constant fold strict comparison based on incoming types: different (exact) types means that the result is false. LoadStaticField computes type for final fields. Make a temporary buffer final.
...
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//57703004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30119 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-08 17:42:45 +00:00
srdjan@google.com
2b9fad92c7
In preparation of inlining remainder and modulo binary Smi operations:
...
- Add REM token
- Fix checking of function fingerprints.
- Remove unused intrinsic for remainder (the function gets inlined and intrinsic is not generated)
R=hausner@google.com
Review URL: https://codereview.chromium.org//59933004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29929 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-05 19:27:46 +00:00
lrn@google.com
b8a3d75996
Add isFinite getter to num.
...
R=floitsch@google.com
Review URL: https://codereview.chromium.org//28973002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29067 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-23 10:21:13 +00:00
srdjan@google.com
1676113897
Fix runtimeType for strings, integers and double: return their interface type.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//25674017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28286 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-04 22:08:55 +00:00
lrn@google.com
783c348d0d
Improve speed of toRadixString, and extra much for powers of two.
...
Approx x2 speedup in general, x6 for powers of two (with 16 being probably
the most common radix).
R=srdjan@google.com
Review URL: https://codereview.chromium.org//24497004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27988 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 07:02:56 +00:00
lrn@google.com
c03e58cd99
Add Object.hashCodeOf to get the default hashCode of an object.
...
BUG= http://dartbug.com/13404
R=floitsch@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//24280003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27865 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-25 08:15:41 +00:00
lrn@google.com
610c3e3e61
Make smi.toString() do its work faster using native string helpers.
...
BUG= http://dartbug.com/13450
R=fschneider@google.com
Review URL: https://codereview.chromium.org//24359002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27808 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-24 11:20:56 +00:00
sra@google.com
ce4b15c0e9
Esoteric bit operations.
...
- bit length
- truncate to signed fixed width integer
- truncate to unsigned fixed width integer
This change is motivated by a program that spends 20-30% of its time here:
// TODO(5828): Replace this with a bit-length method on int when available.
int n_bitLength = this.n.toRadixString(2).length;
See Also
https://code.google.com/p/dart/issues/detail?id=5828#c3
https://code.google.com/p/dart/issues/detail?id=6486#c2
https://code.google.com/p/dart/issues/detail?id=5798#c5
https://code.google.com/p/dart/issues/detail?id=12008
R=lrn@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//23645003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27269 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 22:22:26 +00:00
lrn@google.com
653ee92bfb
Remove int.pow and double.pow from VM library.
...
BUG= http://dartbug.com/10268
R=regis@google.com
Review URL: https://codereview.chromium.org//23129005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26340 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-20 08:13:13 +00:00
srdjan@google.com
1f31dcc424
Fix for running with --throw_on_javascript_int_overflow: recognize pattern (a << b) & mask and test for overflow only after the mask.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//22640019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26122 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-14 15:12:39 +00:00
zra@google.com
f60d2f6df4
Fixes obo error in javascript int checking.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//21876005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25733 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-02 16:06:45 +00:00
srdjan@google.com
8cc2fe2869
Corrected MAX_EXACT_INT_TO_DOUBLE.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//20501005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25725 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-01 23:15:43 +00:00
asiva@google.com
dcb6850f87
Fix for issue 11680
...
- implicitly store a full stack trace in Error objects when they are thrown.
- the shlFromInt on Mints and Bigints was trying to allocate a new OutOfMemory
exception objects instead of using the pre-allocated exception object.
Made the implementation of these methods native so that they can use the
pre-allocated object.
- Ensure that it is not possible to allocate new OutOfMemory or StackOverflow
exception objects.
R=ahe@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//19106008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25492 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 19:28:53 +00:00
srdjan@google.com
d0c639e474
Fix for issue 10534. Implement int.pow correctly using exponentiation by squaring.
...
Note that int.pow is now considerably slower than double.pow.
R=floitsch@google.com
Review URL: https://codereview.chromium.org//14619027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22635 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-13 17:41:58 +00:00
srdjan@google.com
6843db8020
Implement Smi.toString in Dart instead of calling to C++ natives. Large performance improvement.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//14629015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22341 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-02 21:40:43 +00:00
floitsch@google.com
cead1d41f1
ceil/floor/truncate/round return integers.
...
This CL supercedes https://codereview.chromium.org/11748016/
Review URL: https://codereview.chromium.org//12317107
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19810 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-11 18:54:37 +00:00
floitsch@google.com
dd48256fe5
Remove deprecated StringBuffer.add, addAll and addCharCode.
...
Review URL: https://codereview.chromium.org//12473003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19690 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-08 13:07:18 +00:00
floitsch@google.com
4a7dfd2da3
Big merge from experimental to bleeding edge.
...
Review URL: https://codereview.chromium.org//11783009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16687 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-07 11:23:16 +00:00
floitsch@google.com
09f6d09d88
Make isEmpty a getter.
...
Review URL: https://codereview.chromium.org//11238035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14022 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 15:04:32 +00:00
lrn@google.com
a083c1a108
Removed IllegalAccessException and UnsupportedOperationException.
...
Both were converted to StateError.
Review URL: https://codereview.chromium.org//11235054
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14012 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 12:36:10 +00:00
floitsch@google.com
27cadf2b66
isEven, isOdd, isNegative, isMaxValue, isMinValue, isInfinite, isPositive, isSingleValue.
...
Review URL: https://codereview.chromium.org//11227042
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13974 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 16:15:36 +00:00
floitsch@google.com
9074fd0178
Make hashCode a getter and not a method.
...
Review URL: https://codereview.chromium.org//11191078
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13866 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 12:41:04 +00:00
lrn@google.com
89f5daea9e
Rename OutOfMemoryException to OutOfMemoryError.
...
This is a reapply with missing status file changes.
TBR=kasperl@google.com
Review URL: https://codereview.chromium.org//11233004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13822 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 14:01:24 +00:00
kasperl@google.com
f7a56d3f70
Revert "Rename OutOfMemoryException to OutOfMemoryError."
...
This reverts r13818.
TBR'ed.
R=lrn@google.com
BUG=
Review URL: https://codereview.chromium.org//11229003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13820 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 13:11:15 +00:00
lrn@google.com
58f3453267
Rename OutOfMemoryException to OutOfMemoryError.
...
Also move ExceptionImplementation to core.
Review URL: https://codereview.chromium.org//11228002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13818 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 12:20:52 +00:00
ager@google.com
7ce8d31093
Cleaning up in VM number hierarchy which was exposing a bunch
...
of implementation details as public methods.
The only remaining thing is that int and double have a pow
method in the VM which is not officially a part of corelib.
Maybe it should be so I have left that out of this change
and maybe we should add it to num and implement in dart2js
too?
R=sgjesse@google.com ,lrn@google.com
BUG=
Review URL: https://codereview.chromium.org//11019011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13066 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-01 13:31:18 +00:00
lrn@google.com
a1faa6f135
Change IllegalArgumentException to ArgumentError.
...
Review URL: https://codereview.chromium.org//10989013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12841 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 12:27:52 +00:00
ager@google.com
576532edcc
Bug cleanup: unify on allowing radices from 2 to 36 in
...
num.toRadixString. Add test and documentation.
R=lrn@google.com ,floitsch@google.com
BUG=dartbug.com/461
Review URL: https://codereview.chromium.org//10937011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12562 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-19 14:15:39 +00:00
iposva@google.com
2f455ce6a4
- Move double and int implementations into dart:core and make them private.
...
Review URL: https://codereview.chromium.org//10918213
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12330 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-13 14:13:55 +00:00
kasperl@google.com
55140fd125
Remove support for operator negate and replace occurrences with unary
...
operator -.
In the VM, I have disabled the operator negate support in the parser but I
have not removed the keyword because the token is used in quite a few other
places.
R=ahe@google.com ,iposva@google.com ,hausner@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10911206
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12233 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-12 05:29:03 +00:00
floitsch@google.com
3e3c34a0a5
Don't throw on 1 ~/ 0.0.
...
A IntegerDivisionByZeroException is only allowed when both operands are integers.
Review URL: https://chromiumcodereview.appspot.com//10912066
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11762 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-03 12:34:20 +00:00
floitsch@google.com
4a4532d205
Fix int.compareTo.
...
In particular we want:
0.compareTo(-0.0) => 1
Review URL: https://chromiumcodereview.appspot.com//10692099
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9459 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-09 07:57:29 +00:00
floitsch@google.com
1e61443c14
toRadixString returns lower case characters.
...
Fixes issue 2670.
Review URL: https://chromiumcodereview.appspot.com//10225003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6955 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 15:50:36 +00:00
srdjan@google.com
7e24821862
Implement more missing pieces in VM's core library. Although it does not seem to make sense to have toStringAsFixed, toStringAsExponential and toStringAsPrecision in integers, the interface 'num' specifies them, most likely because of troubles in Javascript versions.
...
Note that Double_toStringAsExponential and Double_toStringAsPrecision are still unimplemented in C++. Instead of crashing, throw an exception. Also fix argument passing.
Review URL: https://chromiumcodereview.appspot.com//9416084
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4463 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 15:31:08 +00:00
srdjan@google.com
c8fa1ae3b4
Fix for 1267: Implement (partially) Math.pow for integers.
...
Review URL: https://chromiumcodereview.appspot.com//9372078
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4419 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 01:41:13 +00:00
iposva@google.com
d72471512e
- More cleanup after the kSAR -> kSHR rename.
...
Review URL: http://codereview.chromium.org//9212016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3313 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-13 22:46:32 +00:00
regis@google.com
2d1f63af47
Port a couple more stubs to x64.
...
Fix integer implementation issues.
Enable all tests on x64.
Review URL: http://codereview.chromium.org//9114054
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3307 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-13 20:07:54 +00:00
srdjan@google.com
4c267997cd
Fix bug 557: Disallow user side allocation of ImmutableArray. Also added "instantiation-checks" for some other VM-internal classes.
...
Review URL: http://codereview.chromium.org//8648003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1811 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-23 19:48:25 +00:00
srdjan@google.com
778e4bf21f
Fix integer's % operation; fix parsing of doubles; update co19 tests.
...
Review URL: http://codereview.chromium.org//8468025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1589 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 22:52:56 +00:00
srdjan@google.com
92f177896b
Fix throwing ObjectNotClosure instead of null exception if closure is null.
...
Fix integer compareTo if other is a double NaN.
Fix Expect.stringEqual to accept null as arguments.
Update co19 status file.
Review URL: http://codereview.chromium.org//8528050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1539 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 18:02:12 +00:00
dgrove@google.com
4c0f559d23
Initial checkin.
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 05:20:07 +00:00