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

Side by Side Diff: src/hydrogen.h

Issue 18503006: Move representation into HObjectAccess and remove from HLoadNamedField and HStoreNamedField. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Cleanups after first round of comments; FixedArrayLength is always Smi Created 7 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 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1077 matching lines...) Expand 10 before | Expand all | Expand 10 after
1088 HCheckMaps* mapcheck, 1088 HCheckMaps* mapcheck,
1089 bool is_js_array, 1089 bool is_js_array,
1090 ElementsKind elements_kind, 1090 ElementsKind elements_kind,
1091 bool is_store, 1091 bool is_store,
1092 LoadKeyedHoleMode load_mode, 1092 LoadKeyedHoleMode load_mode,
1093 KeyedAccessStoreMode store_mode); 1093 KeyedAccessStoreMode store_mode);
1094 1094
1095 HLoadNamedField* AddLoad( 1095 HLoadNamedField* AddLoad(
1096 HValue *object, 1096 HValue *object,
1097 HObjectAccess access, 1097 HObjectAccess access,
1098 HValue *typecheck = NULL, 1098 HValue *typecheck = NULL);
1099 Representation representation = Representation::Tagged());
1100 1099
1101 HLoadNamedField* BuildLoadNamedField( 1100 HLoadNamedField* BuildLoadNamedField(HValue* object, HObjectAccess access);
1102 HValue* object, 1101 HStoreNamedField* AddStore(HValue *object, HObjectAccess access, HValue *val);
1103 HObjectAccess access,
1104 Representation representation);
1105
1106 HStoreNamedField* AddStore(
1107 HValue *object,
1108 HObjectAccess access,
1109 HValue *val,
1110 Representation representation = Representation::Tagged());
1111
1112 HStoreNamedField* AddStoreMapConstant(HValue *object, Handle<Map>); 1102 HStoreNamedField* AddStoreMapConstant(HValue *object, Handle<Map>);
1113
1114 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck = NULL); 1103 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck = NULL);
1115
1116 HLoadNamedField* AddLoadFixedArrayLength(HValue *object); 1104 HLoadNamedField* AddLoadFixedArrayLength(HValue *object);
1117 1105
1118 HValue* AddLoadJSBuiltin(Builtins::JavaScript builtin, HContext* context); 1106 HValue* AddLoadJSBuiltin(Builtins::JavaScript builtin, HContext* context);
1119 1107
1120 enum SoftDeoptimizeMode { 1108 enum SoftDeoptimizeMode {
1121 MUST_EMIT_SOFT_DEOPT, 1109 MUST_EMIT_SOFT_DEOPT,
1122 CAN_OMIT_SOFT_DEOPT 1110 CAN_OMIT_SOFT_DEOPT
1123 }; 1111 };
1124 1112
1125 void AddSoftDeoptimize(SoftDeoptimizeMode mode = CAN_OMIT_SOFT_DEOPT); 1113 void AddSoftDeoptimize(SoftDeoptimizeMode mode = CAN_OMIT_SOFT_DEOPT);
(...skipping 966 matching lines...) Expand 10 before | Expand all | Expand 10 after
2092 EmbeddedVector<char, 64> filename_; 2080 EmbeddedVector<char, 64> filename_;
2093 HeapStringAllocator string_allocator_; 2081 HeapStringAllocator string_allocator_;
2094 StringStream trace_; 2082 StringStream trace_;
2095 int indent_; 2083 int indent_;
2096 }; 2084 };
2097 2085
2098 2086
2099 } } // namespace v8::internal 2087 } } // namespace v8::internal
2100 2088
2101 #endif // V8_HYDROGEN_H_ 2089 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « src/code-stubs-hydrogen.cc ('k') | src/hydrogen.cc » ('j') | src/hydrogen-instructions.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698