Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Side by Side Diff: runtime/vm/code_generator.cc

Issue 92433002: Merge sin(a), cos(a) into one instruction. TODO: Implement for ARM and MIPS. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/code_generator.h" 5 #include "vm/code_generator.h"
6 6
7 #include "vm/assembler.h" 7 #include "vm/assembler.h"
8 #include "vm/ast.h" 8 #include "vm/ast.h"
9 #include "vm/bigint_operations.h" 9 #include "vm/bigint_operations.h"
10 #include "vm/code_patcher.h" 10 #include "vm/code_patcher.h"
(...skipping 1685 matching lines...) Expand 10 before | Expand all | Expand 10 after
1696 if (right < 0) { 1696 if (right < 0) {
1697 remainder -= right; 1697 remainder -= right;
1698 } else { 1698 } else {
1699 remainder += right; 1699 remainder += right;
1700 } 1700 }
1701 } 1701 }
1702 return remainder; 1702 return remainder;
1703 } 1703 }
1704 1704
1705 1705
1706 void SinCos(double arg, double* cos_res, double* sin_res) {
1707 // The compiler may merge the calls to sincos, if supported. This
1708 // typically occurs only when compiling for 64-bit targets.
1709 *cos_res = cos(arg);
1710 *sin_res = sin(arg);
1711 }
1712
1713
1706 // Update global type feedback recorded for a field recording the assignment 1714 // Update global type feedback recorded for a field recording the assignment
1707 // of the given value. 1715 // of the given value.
1708 // Arg0: Field object; 1716 // Arg0: Field object;
1709 // Arg1: Value that is being stored. 1717 // Arg1: Value that is being stored.
1710 DEFINE_RUNTIME_ENTRY(UpdateFieldCid, 2) { 1718 DEFINE_RUNTIME_ENTRY(UpdateFieldCid, 2) {
1711 const Field& field = Field::CheckedHandle(arguments.ArgAt(0)); 1719 const Field& field = Field::CheckedHandle(arguments.ArgAt(0));
1712 const Object& value = Object::Handle(arguments.ArgAt(1)); 1720 const Object& value = Object::Handle(arguments.ArgAt(1));
1713 field.UpdateGuardedCidAndLength(value); 1721 field.UpdateGuardedCidAndLength(value);
1714 } 1722 }
1715 1723
1716 } // namespace dart 1724 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/code_generator.h ('k') | runtime/vm/compiler.cc » ('j') | runtime/vm/compiler.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698