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

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

Issue 144023009: Get rid of the unused native code StringAddStub. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Remove obsolete StringHelper methods. Created 6 years, 11 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/lithium-codegen-arm.cc ('k') | src/code-stubs.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 27 matching lines...) Expand all
38 namespace internal { 38 namespace internal {
39 39
40 // List of code stubs used on all platforms. 40 // List of code stubs used on all platforms.
41 #define CODE_STUB_LIST_ALL_PLATFORMS(V) \ 41 #define CODE_STUB_LIST_ALL_PLATFORMS(V) \
42 V(CallFunction) \ 42 V(CallFunction) \
43 V(CallConstruct) \ 43 V(CallConstruct) \
44 V(BinaryOpIC) \ 44 V(BinaryOpIC) \
45 V(BinaryOpICWithAllocationSite) \ 45 V(BinaryOpICWithAllocationSite) \
46 V(BinaryOpWithAllocationSite) \ 46 V(BinaryOpWithAllocationSite) \
47 V(StringAdd) \ 47 V(StringAdd) \
48 V(NewStringAdd) \
49 V(SubString) \ 48 V(SubString) \
50 V(StringCompare) \ 49 V(StringCompare) \
51 V(Compare) \ 50 V(Compare) \
52 V(CompareIC) \ 51 V(CompareIC) \
53 V(CompareNilIC) \ 52 V(CompareNilIC) \
54 V(MathPow) \ 53 V(MathPow) \
55 V(StringLength) \ 54 V(StringLength) \
56 V(FunctionPrototype) \ 55 V(FunctionPrototype) \
57 V(StoreArrayLength) \ 56 V(StoreArrayLength) \
58 V(RecordWrite) \ 57 V(RecordWrite) \
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 virtual void AfterCall(MacroAssembler* masm) const = 0; 439 virtual void AfterCall(MacroAssembler* masm) const = 0;
441 440
442 protected: 441 protected:
443 RuntimeCallHelper() {} 442 RuntimeCallHelper() {}
444 443
445 private: 444 private:
446 DISALLOW_COPY_AND_ASSIGN(RuntimeCallHelper); 445 DISALLOW_COPY_AND_ASSIGN(RuntimeCallHelper);
447 }; 446 };
448 447
449 448
450 // TODO(bmeurer): Move to the StringAddStub declaration once we're
451 // done with the translation to a hydrogen code stub.
452 enum StringAddFlags {
453 // Omit both parameter checks.
454 STRING_ADD_CHECK_NONE = 0,
455 // Check left parameter.
456 STRING_ADD_CHECK_LEFT = 1 << 0,
457 // Check right parameter.
458 STRING_ADD_CHECK_RIGHT = 1 << 1,
459 // Check both parameters.
460 STRING_ADD_CHECK_BOTH = STRING_ADD_CHECK_LEFT | STRING_ADD_CHECK_RIGHT
461 };
462
463 } } // namespace v8::internal 449 } } // namespace v8::internal
464 450
465 #if V8_TARGET_ARCH_IA32 451 #if V8_TARGET_ARCH_IA32
466 #include "ia32/code-stubs-ia32.h" 452 #include "ia32/code-stubs-ia32.h"
467 #elif V8_TARGET_ARCH_X64 453 #elif V8_TARGET_ARCH_X64
468 #include "x64/code-stubs-x64.h" 454 #include "x64/code-stubs-x64.h"
469 #elif V8_TARGET_ARCH_ARM 455 #elif V8_TARGET_ARCH_ARM
470 #include "arm/code-stubs-arm.h" 456 #include "arm/code-stubs-arm.h"
471 #elif V8_TARGET_ARCH_MIPS 457 #elif V8_TARGET_ARCH_MIPS
472 #include "mips/code-stubs-mips.h" 458 #include "mips/code-stubs-mips.h"
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
1249 return BinaryOpWithAllocationSite; 1235 return BinaryOpWithAllocationSite;
1250 } 1236 }
1251 1237
1252 // Parameters accessed via CodeStubGraphBuilder::GetParameter() 1238 // Parameters accessed via CodeStubGraphBuilder::GetParameter()
1253 static const int kAllocationSite = 0; 1239 static const int kAllocationSite = 0;
1254 static const int kLeft = 1; 1240 static const int kLeft = 1;
1255 static const int kRight = 2; 1241 static const int kRight = 2;
1256 }; 1242 };
1257 1243
1258 1244
1259 // TODO(bmeurer): Rename to StringAddStub once we dropped the old StringAddStub. 1245 enum StringAddFlags {
1260 class NewStringAddStub V8_FINAL : public HydrogenCodeStub { 1246 // Omit both parameter checks.
1247 STRING_ADD_CHECK_NONE = 0,
1248 // Check left parameter.
1249 STRING_ADD_CHECK_LEFT = 1 << 0,
1250 // Check right parameter.
1251 STRING_ADD_CHECK_RIGHT = 1 << 1,
1252 // Check both parameters.
1253 STRING_ADD_CHECK_BOTH = STRING_ADD_CHECK_LEFT | STRING_ADD_CHECK_RIGHT
1254 };
1255
1256
1257 class StringAddStub V8_FINAL : public HydrogenCodeStub {
1261 public: 1258 public:
1262 NewStringAddStub(StringAddFlags flags, PretenureFlag pretenure_flag) 1259 StringAddStub(StringAddFlags flags, PretenureFlag pretenure_flag)
1263 : bit_field_(StringAddFlagsBits::encode(flags) | 1260 : bit_field_(StringAddFlagsBits::encode(flags) |
1264 PretenureFlagBits::encode(pretenure_flag)) {} 1261 PretenureFlagBits::encode(pretenure_flag)) {}
1265 1262
1266 StringAddFlags flags() const { 1263 StringAddFlags flags() const {
1267 return StringAddFlagsBits::decode(bit_field_); 1264 return StringAddFlagsBits::decode(bit_field_);
1268 } 1265 }
1269 1266
1270 PretenureFlag pretenure_flag() const { 1267 PretenureFlag pretenure_flag() const {
1271 return PretenureFlagBits::decode(bit_field_); 1268 return PretenureFlagBits::decode(bit_field_);
1272 } 1269 }
(...skipping 12 matching lines...) Expand all
1285 1282
1286 // Parameters accessed via CodeStubGraphBuilder::GetParameter() 1283 // Parameters accessed via CodeStubGraphBuilder::GetParameter()
1287 static const int kLeft = 0; 1284 static const int kLeft = 0;
1288 static const int kRight = 1; 1285 static const int kRight = 1;
1289 1286
1290 private: 1287 private:
1291 class StringAddFlagsBits: public BitField<StringAddFlags, 0, 2> {}; 1288 class StringAddFlagsBits: public BitField<StringAddFlags, 0, 2> {};
1292 class PretenureFlagBits: public BitField<PretenureFlag, 2, 1> {}; 1289 class PretenureFlagBits: public BitField<PretenureFlag, 2, 1> {};
1293 uint32_t bit_field_; 1290 uint32_t bit_field_;
1294 1291
1295 virtual Major MajorKey() V8_OVERRIDE { return NewStringAdd; } 1292 virtual Major MajorKey() V8_OVERRIDE { return StringAdd; }
1296 virtual int NotMissMinorKey() V8_OVERRIDE { return bit_field_; } 1293 virtual int NotMissMinorKey() V8_OVERRIDE { return bit_field_; }
1297 1294
1298 virtual void PrintBaseName(StringStream* stream) V8_OVERRIDE; 1295 virtual void PrintBaseName(StringStream* stream) V8_OVERRIDE;
1299 1296
1300 DISALLOW_COPY_AND_ASSIGN(NewStringAddStub); 1297 DISALLOW_COPY_AND_ASSIGN(StringAddStub);
1301 }; 1298 };
1302 1299
1303 1300
1304 class ICCompareStub: public PlatformCodeStub { 1301 class ICCompareStub: public PlatformCodeStub {
1305 public: 1302 public:
1306 ICCompareStub(Token::Value op, 1303 ICCompareStub(Token::Value op,
1307 CompareIC::State left, 1304 CompareIC::State left,
1308 CompareIC::State right, 1305 CompareIC::State right,
1309 CompareIC::State handler) 1306 CompareIC::State handler)
1310 : op_(op), 1307 : op_(op),
(...skipping 1180 matching lines...) Expand 10 before | Expand all | Expand 10 after
2491 2488
2492 2489
2493 class CallDescriptors { 2490 class CallDescriptors {
2494 public: 2491 public:
2495 static void InitializeForIsolate(Isolate* isolate); 2492 static void InitializeForIsolate(Isolate* isolate);
2496 }; 2493 };
2497 2494
2498 } } // namespace v8::internal 2495 } } // namespace v8::internal
2499 2496
2500 #endif // V8_CODE_STUBS_H_ 2497 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « src/arm/lithium-codegen-arm.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698