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

Side by Side Diff: src/compiler/typer.cc

Issue 612043003: Add inlining for intrinsics. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix windows conversion warning. Created 6 years, 2 months 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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/compiler/graph-inl.h" 5 #include "src/compiler/graph-inl.h"
6 #include "src/compiler/js-operator.h" 6 #include "src/compiler/js-operator.h"
7 #include "src/compiler/node.h" 7 #include "src/compiler/node.h"
8 #include "src/compiler/node-properties-inl.h" 8 #include "src/compiler/node-properties-inl.h"
9 #include "src/compiler/node-properties.h" 9 #include "src/compiler/node-properties.h"
10 #include "src/compiler/simplified-operator.h" 10 #include "src/compiler/simplified-operator.h"
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 return Bounds(); 805 return Bounds();
806 } 806 }
807 807
808 808
809 Bounds Typer::Visitor::TypeStoreElement(Node* node) { 809 Bounds Typer::Visitor::TypeStoreElement(Node* node) {
810 UNREACHABLE(); 810 UNREACHABLE();
811 return Bounds(); 811 return Bounds();
812 } 812 }
813 813
814 814
815 Bounds Typer::Visitor::TypeIsSmi(Node* node) { return Bounds(Type::Boolean()); }
816
817
818 Bounds Typer::Visitor::TypeIsNonNegativeSmi(Node* node) {
819 return Bounds(Type::Boolean());
820 }
821
822
815 // Machine operators. 823 // Machine operators.
816 824
817 // TODO(rossberg): implement 825 // TODO(rossberg): implement
818 #define DEFINE_METHOD(x) \ 826 #define DEFINE_METHOD(x) \
819 Bounds Typer::Visitor::Type##x(Node* node) { return Bounds(Type::None()); } 827 Bounds Typer::Visitor::Type##x(Node* node) { \
828 return Bounds::Unbounded(zone()); \
829 }
820 MACHINE_OP_LIST(DEFINE_METHOD) 830 MACHINE_OP_LIST(DEFINE_METHOD)
821 #undef DEFINE_METHOD 831 #undef DEFINE_METHOD
822 832
823 833
824 // Heap constants. 834 // Heap constants.
825 835
826 Type* Typer::Visitor::TypeConstant(Handle<Object> value) { 836 Type* Typer::Visitor::TypeConstant(Handle<Object> value) {
827 if (value->IsJSFunction()) { 837 if (value->IsJSFunction()) {
828 if (JSFunction::cast(*value)->shared()->HasBuiltinFunctionId()) { 838 if (JSFunction::cast(*value)->shared()->HasBuiltinFunctionId()) {
829 switch (JSFunction::cast(*value)->shared()->builtin_function_id()) { 839 switch (JSFunction::cast(*value)->shared()->builtin_function_id()) {
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
907 } 917 }
908 918
909 919
910 void Typer::DecorateGraph(Graph* graph) { 920 void Typer::DecorateGraph(Graph* graph) {
911 graph->AddDecorator(new (zone()) TyperDecorator(this)); 921 graph->AddDecorator(new (zone()) TyperDecorator(this));
912 } 922 }
913 923
914 } 924 }
915 } 925 }
916 } // namespace v8::internal::compiler 926 } // namespace v8::internal::compiler
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698