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

Side by Side Diff: src/ic.h

Issue 409613002: Store both major and minor key on code stubs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 5 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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 #ifndef V8_IC_H_ 5 #ifndef V8_IC_H_
6 #define V8_IC_H_ 6 #define V8_IC_H_
7 7
8 #include "src/macro-assembler.h" 8 #include "src/macro-assembler.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after
939 KNOWN_OBJECT, // JSObject with specific map (faster check) 939 KNOWN_OBJECT, // JSObject with specific map (faster check)
940 GENERIC 940 GENERIC
941 }; 941 };
942 942
943 static State NewInputState(State old_state, Handle<Object> value); 943 static State NewInputState(State old_state, Handle<Object> value);
944 944
945 static Type* StateToType(Zone* zone, 945 static Type* StateToType(Zone* zone,
946 State state, 946 State state,
947 Handle<Map> map = Handle<Map>()); 947 Handle<Map> map = Handle<Map>());
948 948
949 static void StubInfoToType(int stub_minor_key, 949 static void StubInfoToType(uint32_t stub_key, Type** left_type,
950 Type** left_type, 950 Type** right_type, Type** overall_type,
951 Type** right_type, 951 Handle<Map> map, Zone* zone);
952 Type** overall_type,
953 Handle<Map> map,
954 Zone* zone);
955 952
956 CompareIC(Isolate* isolate, Token::Value op) 953 CompareIC(Isolate* isolate, Token::Value op)
957 : IC(EXTRA_CALL_FRAME, isolate), op_(op) { } 954 : IC(EXTRA_CALL_FRAME, isolate), op_(op) { }
958 955
959 // Update the inline cache for the given operands. 956 // Update the inline cache for the given operands.
960 Code* UpdateCaches(Handle<Object> x, Handle<Object> y); 957 Code* UpdateCaches(Handle<Object> x, Handle<Object> y);
961 958
962 959
963 // Factory method for getting an uninitialized compare stub. 960 // Factory method for getting an uninitialized compare stub.
964 static Handle<Code> GetUninitialized(Isolate* isolate, Token::Value op); 961 static Handle<Code> GetUninitialized(Isolate* isolate, Token::Value op);
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 DECLARE_RUNTIME_FUNCTION(ElementsTransitionAndStoreIC_Miss); 1027 DECLARE_RUNTIME_FUNCTION(ElementsTransitionAndStoreIC_Miss);
1031 DECLARE_RUNTIME_FUNCTION(BinaryOpIC_Miss); 1028 DECLARE_RUNTIME_FUNCTION(BinaryOpIC_Miss);
1032 DECLARE_RUNTIME_FUNCTION(BinaryOpIC_MissWithAllocationSite); 1029 DECLARE_RUNTIME_FUNCTION(BinaryOpIC_MissWithAllocationSite);
1033 DECLARE_RUNTIME_FUNCTION(CompareNilIC_Miss); 1030 DECLARE_RUNTIME_FUNCTION(CompareNilIC_Miss);
1034 DECLARE_RUNTIME_FUNCTION(ToBooleanIC_Miss); 1031 DECLARE_RUNTIME_FUNCTION(ToBooleanIC_Miss);
1035 1032
1036 1033
1037 } } // namespace v8::internal 1034 } } // namespace v8::internal
1038 1035
1039 #endif // V8_IC_H_ 1036 #endif // V8_IC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698