Commit Graph

28 Commits

Author SHA1 Message Date
srdjan@google.com a8f549dbc3 Merge sin(a), cos(a) into one instruction. On IA32 use x87 fsincos operation, on x64 call runtime routine whihc merges sin/cos intos sincos.
TODO: Implement for ARM and MIPS.

R=fschneider@google.com

Review URL: https://codereview.chromium.org//92433002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30827 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-03 22:00:27 +00:00
srdjan@google.com 3165e204e3 Merge TRUNCDIV and MOD into one instruction. Icorporated feedback from CL https://codereview.chromium.org/68663003
R=fschneider@google.com

Review URL: https://codereview.chromium.org//79653002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30536 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-21 17:56:54 +00:00
ahe@google.com 37a5567eb8 Triage Safari bug 7414.
BUG=http://dartbug.com/7414
R=floitsch@google.com, kustermann@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org//23595002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26726 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-27 17:17:35 +00:00
zra@google.com fa2ad38a31 Enables per-function far-branches for ARM and MIPS.
R=regis@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org//21363003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25723 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-01 20:51:46 +00:00
zra@google.com dad3270d95 Implements far branch targets for MIPS.
This change adds a flag --mips-far-branches, which when set causes
relative branches to be converted to absolute branches by determining
the PC, adding the branch offset to it, and using the jr or jalr
instruction to jump if the branch test passes.

This procedure clobbers the assembler temporary TMP, so TMP can no
longer be used in a branch test or in the branch delay slot of a
relative branch. Because TMP can't be used in a branch test, a
new temporary is introduced CMPRES2. This change replaces TMP with
CMPRES1 or another register where TMP can no longer be used.

Tests that were failing due to a too-far relative have the
--mips-far-branches flag set.

R=regis@google.com

Review URL: https://codereview.chromium.org//20369003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25543 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 23:30:32 +00:00
srdjan@google.com 2ea6b9ee3e Add VMOptions to optimize tests that need to be (Part I).
R=asiva@google.com

Review URL: https://codereview.chromium.org//19034002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24923 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-11 17:47:40 +00:00
fschneider@google.com a43bddcbaf Fix bug in constant propagation with double-equality.
Don't optimize x == x and x != x if x is a double:
x == x is not true, if x == NaN.

TEST=tests/language/arithmetic_test.dart
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//16853005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23955 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-13 09:08:05 +00:00
floitsch@google.com 8fd6d0aafd Remove Expect from core library.
Committed: https://code.google.com/p/dart/source/detail?r=19755
Reverted: http://code.google.com/p/dart/source/detail?r=19756

Review URL: https://codereview.chromium.org//12212016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20996 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 19:43:16 +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 5dc8107c53 Revert "Remove Expect from core library."
This reverts commit 19755.

Review URL: https://codereview.chromium.org//12743005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19756 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-09 03:19:07 +00:00
floitsch@google.com 12dbd2fd70 Remove Expect from core library.
Review URL: https://codereview.chromium.org//12212016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19755 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-09 02:40:37 +00:00
srdjan@google.com 1bc8991142 For Doubl erounding call C-function instead of attempting to inline it. Fixes issue 8760.
Review URL: https://codereview.chromium.org//12334080

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19013 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-25 23:05:43 +00:00
vegorov@google.com f6f7f1579e Optimize double.floor and double.ceil down to roundsd when SSE4.1 is available.
R=fschneider@google.com
BUG=dart:7971

Review URL: https://codereview.chromium.org//11929021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17278 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 14:28:25 +00:00
fschneider@google.com 2904e5bf35 Fix crash bug when deoptimizing from an optimized sqrt operation.
Review URL: https://codereview.chromium.org//11880048

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17084 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-15 17:11:11 +00:00
srdjan@google.com 40a7130741 Inline Doubles truncate and round.
Review URL: https://codereview.chromium.org//11573044

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16983 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-11 20:42:47 +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
ngeoffray@google.com f54d019b7d Make arithmetic_test pass again on dart2js.
Review URL: https://codereview.chromium.org//11488004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15888 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-10 09:19:40 +00:00
hausner@google.com 859889b9c5 Eliminate old style import from language tests
Also implement multi-part library names.
Review URL: https://codereview.chromium.org//11316283

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15612 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-30 23:20:01 +00:00
fschneider@google.com 0f251088ec Improve smi shift operations and avoid repeated deoptimizations.
Smi left shifts do not contain a call now. Only after deoptimizing
at a smi operation we we generate mint code or a generic call to
avoid repeated deoptimization.

Added a test case for the code that was not covered by existing tests.
Review URL: https://codereview.chromium.org//11363141

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14709 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-08 22:03:47 +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
ahe@google.com 6254729761 Revert "Parts must start with 'part of'" and "Attempt to fix VM build"
This reverts r13961 and r13963.

Review URL: https://codereview.chromium.org//11233061

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13967 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 14:24:04 +00:00
scheglov@google.com f8c9216209 Attempt to fix VM build
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13963 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 13:53:28 +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
srdjan@google.com c83fd716e4 Implement SmiToInt and DoubleToInt. All necessary tests are in tests/language/arithmetic_test.dart
Review URL: https://codereview.chromium.org//11098009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13443 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-09 21:43:10 +00:00
kasperl@google.com 8bd4bf096b Update almost all tests (except co19) to use the new try-catch syntax.
R=ngeoffray@google.com
BUG=

Review URL: https://chromiumcodereview.appspot.com//10891020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11492 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-29 08:11:41 +00:00
ager@google.com 722c1a3ce6 Deprecate Math object in corelib in favor of dart:math library.
Review URL: https://chromiumcodereview.appspot.com//10829459

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11155 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 14:33:01 +00:00
rnystrom@google.com 0bc9b19740 Rename BadNumberFormatException -> FormatException.
Review URL: https://chromiumcodereview.appspot.com//10850034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10354 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-07 20:56:59 +00:00
sigmund@google.com 64d7bc5acf test rename overhaul: step 8 - language tests
Review URL: https://chromiumcodereview.appspot.com//10248007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7101 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-27 18:45:10 +00:00