OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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_MIPS_CODE_STUBS_ARM_H_ | 5 #ifndef V8_MIPS_CODE_STUBS_ARM_H_ |
6 #define V8_MIPS_CODE_STUBS_ARM_H_ | 6 #define V8_MIPS_CODE_STUBS_ARM_H_ |
7 | 7 |
8 namespace v8 { | 8 namespace v8 { |
9 namespace internal { | 9 namespace internal { |
10 | 10 |
11 | 11 |
12 void ArrayNativeCode(MacroAssembler* masm, Label* call_generic_code); | 12 void ArrayNativeCode(MacroAssembler* masm, Label* call_generic_code); |
13 | 13 |
14 | 14 |
15 class StringHelper : public AllStatic { | 15 class StringHelper : public AllStatic { |
16 public: | 16 public: |
17 // Generate code for copying a large number of characters. This function | 17 // Generate code for copying a large number of characters. This function |
18 // is allowed to spend extra time setting up conditions to make copying | 18 // is allowed to spend extra time setting up conditions to make copying |
19 // faster. Copying of overlapping regions is not supported. | 19 // faster. Copying of overlapping regions is not supported. |
20 // Dest register ends at the position after the last character written. | 20 // Dest register ends at the position after the last character written. |
21 static void GenerateCopyCharacters(MacroAssembler* masm, | 21 static void GenerateCopyCharacters(MacroAssembler* masm, |
22 Register dest, | 22 Register dest, |
23 Register src, | 23 Register src, |
24 Register count, | 24 Register count, |
25 Register scratch, | 25 Register scratch, |
26 String::Encoding encoding); | 26 String::Encoding encoding); |
27 | 27 |
28 // Compare two flat ASCII strings and returns result in v0. | 28 // Compares two flat one-byte strings and returns result in v0. |
29 static void GenerateCompareFlatAsciiStrings(MacroAssembler* masm, | 29 static void GenerateCompareFlatOneByteStrings( |
30 Register left, | 30 MacroAssembler* masm, Register left, Register right, Register scratch1, |
31 Register right, | 31 Register scratch2, Register scratch3, Register scratch4); |
| 32 |
| 33 // Compares two flat one-byte strings for equality and returns result in v0. |
| 34 static void GenerateFlatOneByteStringEquals(MacroAssembler* masm, |
| 35 Register left, Register right, |
32 Register scratch1, | 36 Register scratch1, |
33 Register scratch2, | 37 Register scratch2, |
34 Register scratch3, | 38 Register scratch3); |
35 Register scratch4); | |
36 | |
37 // Compares two flat ASCII strings for equality and returns result in v0. | |
38 static void GenerateFlatAsciiStringEquals(MacroAssembler* masm, | |
39 Register left, | |
40 Register right, | |
41 Register scratch1, | |
42 Register scratch2, | |
43 Register scratch3); | |
44 | 39 |
45 private: | 40 private: |
46 static void GenerateAsciiCharsCompareLoop(MacroAssembler* masm, | 41 static void GenerateOneByteCharsCompareLoop( |
47 Register left, | 42 MacroAssembler* masm, Register left, Register right, Register length, |
48 Register right, | 43 Register scratch1, Register scratch2, Register scratch3, |
49 Register length, | 44 Label* chars_not_equal); |
50 Register scratch1, | |
51 Register scratch2, | |
52 Register scratch3, | |
53 Label* chars_not_equal); | |
54 | 45 |
55 DISALLOW_IMPLICIT_CONSTRUCTORS(StringHelper); | 46 DISALLOW_IMPLICIT_CONSTRUCTORS(StringHelper); |
56 }; | 47 }; |
57 | 48 |
58 | 49 |
59 class StoreRegistersStateStub: public PlatformCodeStub { | 50 class StoreRegistersStateStub: public PlatformCodeStub { |
60 public: | 51 public: |
61 explicit StoreRegistersStateStub(Isolate* isolate) | 52 explicit StoreRegistersStateStub(Isolate* isolate) |
62 : PlatformCodeStub(isolate) {} | 53 : PlatformCodeStub(isolate) {} |
63 | 54 |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 | 379 |
389 class LookupModeBits: public BitField<LookupMode, 0, 1> {}; | 380 class LookupModeBits: public BitField<LookupMode, 0, 1> {}; |
390 | 381 |
391 DEFINE_PLATFORM_CODE_STUB(NameDictionaryLookup, PlatformCodeStub); | 382 DEFINE_PLATFORM_CODE_STUB(NameDictionaryLookup, PlatformCodeStub); |
392 }; | 383 }; |
393 | 384 |
394 | 385 |
395 } } // namespace v8::internal | 386 } } // namespace v8::internal |
396 | 387 |
397 #endif // V8_MIPS_CODE_STUBS_ARM_H_ | 388 #endif // V8_MIPS_CODE_STUBS_ARM_H_ |
OLD | NEW |