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

Side by Side Diff: src/arm/code-stubs-arm.h

Issue 139973004: A64: Synchronize with r15814. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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
« no previous file with comments | « src/arm/builtins-arm.cc ('k') | src/arm/code-stubs-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 Register character); 137 Register character);
138 138
139 static void GenerateHashGetHash(MacroAssembler* masm, 139 static void GenerateHashGetHash(MacroAssembler* masm,
140 Register hash); 140 Register hash);
141 141
142 private: 142 private:
143 DISALLOW_IMPLICIT_CONSTRUCTORS(StringHelper); 143 DISALLOW_IMPLICIT_CONSTRUCTORS(StringHelper);
144 }; 144 };
145 145
146 146
147 // Flag that indicates how to generate code for the stub StringAddStub.
148 enum StringAddFlags {
149 NO_STRING_ADD_FLAGS = 1 << 0,
150 // Omit left string check in stub (left is definitely a string).
151 NO_STRING_CHECK_LEFT_IN_STUB = 1 << 1,
152 // Omit right string check in stub (right is definitely a string).
153 NO_STRING_CHECK_RIGHT_IN_STUB = 1 << 2,
154 // Stub needs a frame before calling the runtime
155 ERECT_FRAME = 1 << 3,
156 // Omit both string checks in stub.
157 NO_STRING_CHECK_IN_STUB =
158 NO_STRING_CHECK_LEFT_IN_STUB | NO_STRING_CHECK_RIGHT_IN_STUB
159 };
160
161
162 class StringAddStub: public PlatformCodeStub { 147 class StringAddStub: public PlatformCodeStub {
163 public: 148 public:
164 explicit StringAddStub(StringAddFlags flags) : flags_(flags) {} 149 explicit StringAddStub(StringAddFlags flags) : flags_(flags) {}
165 150
166 private: 151 private:
167 Major MajorKey() { return StringAdd; } 152 Major MajorKey() { return StringAdd; }
168 int MinorKey() { return flags_; } 153 int MinorKey() { return flags_; }
169 154
170 void Generate(MacroAssembler* masm); 155 void Generate(MacroAssembler* masm);
171 156
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 // the register object is found in the cache the generated code falls through 265 // the register object is found in the cache the generated code falls through
281 // with the result in the result register. The object and the result register 266 // with the result in the result register. The object and the result register
282 // can be the same. If the number is not found in the cache the code jumps to 267 // can be the same. If the number is not found in the cache the code jumps to
283 // the label not_found with only the content of register object unchanged. 268 // the label not_found with only the content of register object unchanged.
284 static void GenerateLookupNumberStringCache(MacroAssembler* masm, 269 static void GenerateLookupNumberStringCache(MacroAssembler* masm,
285 Register object, 270 Register object,
286 Register result, 271 Register result,
287 Register scratch1, 272 Register scratch1,
288 Register scratch2, 273 Register scratch2,
289 Register scratch3, 274 Register scratch3,
290 bool object_is_smi,
291 Label* not_found); 275 Label* not_found);
292 276
293 private: 277 private:
294 Major MajorKey() { return NumberToString; } 278 Major MajorKey() { return NumberToString; }
295 int MinorKey() { return 0; } 279 int MinorKey() { return 0; }
296 280
297 void Generate(MacroAssembler* masm); 281 void Generate(MacroAssembler* masm);
298 }; 282 };
299 283
300 284
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
576 560
577 class LookupModeBits: public BitField<LookupMode, 0, 1> {}; 561 class LookupModeBits: public BitField<LookupMode, 0, 1> {};
578 562
579 LookupMode mode_; 563 LookupMode mode_;
580 }; 564 };
581 565
582 566
583 } } // namespace v8::internal 567 } } // namespace v8::internal
584 568
585 #endif // V8_ARM_CODE_STUBS_ARM_H_ 569 #endif // V8_ARM_CODE_STUBS_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/builtins-arm.cc ('k') | src/arm/code-stubs-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698