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

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

Issue 6092007: Write buffer based write barrier for IA32 and Crankshaft. Currently... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: '' Created 9 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
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 29 matching lines...) Expand all
40 V(GenericBinaryOp) \ 40 V(GenericBinaryOp) \
41 V(TypeRecordingBinaryOp) \ 41 V(TypeRecordingBinaryOp) \
42 V(StringAdd) \ 42 V(StringAdd) \
43 V(StringCharAt) \ 43 V(StringCharAt) \
44 V(SubString) \ 44 V(SubString) \
45 V(StringCompare) \ 45 V(StringCompare) \
46 V(SmiOp) \ 46 V(SmiOp) \
47 V(Compare) \ 47 V(Compare) \
48 V(CompareIC) \ 48 V(CompareIC) \
49 V(MathPow) \ 49 V(MathPow) \
50 V(WriteBufferOverflow) \
50 V(TranscendentalCacheSSE2) \ 51 V(TranscendentalCacheSSE2) \
51 V(RecordWrite) \ 52 V(RecordWrite) \
52 V(ConvertToDouble) \ 53 V(ConvertToDouble) \
53 V(WriteInt32ToHeapNumber) \ 54 V(WriteInt32ToHeapNumber) \
54 V(IntegerMod) \ 55 V(IntegerMod) \
55 V(StackCheck) \ 56 V(StackCheck) \
56 V(FastNewClosure) \ 57 V(FastNewClosure) \
57 V(FastNewContext) \ 58 V(FastNewContext) \
58 V(FastCloneShallowArray) \ 59 V(FastCloneShallowArray) \
59 V(TranscendentalCache) \ 60 V(TranscendentalCache) \
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 } else { 567 } else {
567 PrintF("\n"); 568 PrintF("\n");
568 } 569 }
569 } 570 }
570 #endif 571 #endif
571 }; 572 };
572 573
573 574
574 class CEntryStub : public CodeStub { 575 class CEntryStub : public CodeStub {
575 public: 576 public:
576 explicit CEntryStub(int result_size) 577 explicit CEntryStub(int result_size,
577 : result_size_(result_size), save_doubles_(false) { } 578 SaveFPRegsMode save_doubles = kDontSaveFPRegs)
579 : result_size_(result_size), save_doubles_(save_doubles) { }
578 580
579 void Generate(MacroAssembler* masm); 581 void Generate(MacroAssembler* masm);
580 void SaveDoubles() { save_doubles_ = true; }
581 582
582 private: 583 private:
583 void GenerateCore(MacroAssembler* masm, 584 void GenerateCore(MacroAssembler* masm,
584 Label* throw_normal_exception, 585 Label* throw_normal_exception,
585 Label* throw_termination_exception, 586 Label* throw_termination_exception,
586 Label* throw_out_of_memory_exception, 587 Label* throw_out_of_memory_exception,
587 bool do_gc, 588 bool do_gc,
588 bool always_allocate_scope, 589 bool always_allocate_scope,
589 int alignment_skew = 0); 590 int alignment_skew = 0);
590 void GenerateThrowTOS(MacroAssembler* masm); 591 void GenerateThrowTOS(MacroAssembler* masm);
591 void GenerateThrowUncatchable(MacroAssembler* masm, 592 void GenerateThrowUncatchable(MacroAssembler* masm,
592 UncatchableExceptionType type); 593 UncatchableExceptionType type);
593 594
594 // Number of pointers/values returned. 595 // Number of pointers/values returned.
595 const int result_size_; 596 const int result_size_;
596 bool save_doubles_; 597 SaveFPRegsMode save_doubles_;
597 598
598 Major MajorKey() { return CEntry; } 599 Major MajorKey() { return CEntry; }
599 int MinorKey(); 600 int MinorKey();
600 601
601 const char* GetName() { return "CEntryStub"; } 602 const char* GetName() { return "CEntryStub"; }
602 }; 603 };
603 604
604 605
605 class JSEntryStub : public CodeStub { 606 class JSEntryStub : public CodeStub {
606 public: 607 public:
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
899 private: 900 private:
900 StringCharCodeAtGenerator char_code_at_generator_; 901 StringCharCodeAtGenerator char_code_at_generator_;
901 StringCharFromCodeGenerator char_from_code_generator_; 902 StringCharFromCodeGenerator char_from_code_generator_;
902 903
903 DISALLOW_COPY_AND_ASSIGN(StringCharAtGenerator); 904 DISALLOW_COPY_AND_ASSIGN(StringCharAtGenerator);
904 }; 905 };
905 906
906 } } // namespace v8::internal 907 } } // namespace v8::internal
907 908
908 #endif // V8_CODE_STUBS_H_ 909 #endif // V8_CODE_STUBS_H_
OLDNEW
« no previous file with comments | « src/assembler.h ('k') | src/codegen.cc » ('j') | src/ia32/macro-assembler-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698