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

Side by Side Diff: src/x64/codegen-x64.h

Issue 1860001: X64: Port inline transcendental cache to X64. (Closed)
Patch Set: Created 10 years, 7 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
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 657 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 friend class FastCodeGenerator; 668 friend class FastCodeGenerator;
669 friend class FullCodeGenerator; 669 friend class FullCodeGenerator;
670 friend class FullCodeGenSyntaxChecker; 670 friend class FullCodeGenSyntaxChecker;
671 671
672 friend class CodeGeneratorPatcher; // Used in test-log-stack-tracer.cc 672 friend class CodeGeneratorPatcher; // Used in test-log-stack-tracer.cc
673 673
674 DISALLOW_COPY_AND_ASSIGN(CodeGenerator); 674 DISALLOW_COPY_AND_ASSIGN(CodeGenerator);
675 }; 675 };
676 676
677 677
678 // Compute a transcendental math function natively, or call the
679 // TranscendentalCache runtime function.
680 class TranscendentalCacheStub: public CodeStub {
681 public:
682 explicit TranscendentalCacheStub(TranscendentalCache::Type type)
683 : type_(type) {}
684 void Generate(MacroAssembler* masm);
685 private:
686 TranscendentalCache::Type type_;
687 Major MajorKey() { return TranscendentalCache; }
688 int MinorKey() { return type_; }
689 Runtime::FunctionId RuntimeFunction();
690 void GenerateOperation(MacroAssembler* masm);
691 };
692
693
678 // Flag that indicates how to generate code for the stub GenericBinaryOpStub. 694 // Flag that indicates how to generate code for the stub GenericBinaryOpStub.
679 enum GenericBinaryFlags { 695 enum GenericBinaryFlags {
680 NO_GENERIC_BINARY_FLAGS = 0, 696 NO_GENERIC_BINARY_FLAGS = 0,
681 NO_SMI_CODE_IN_STUB = 1 << 0 // Omit smi code in stub. 697 NO_SMI_CODE_IN_STUB = 1 << 0 // Omit smi code in stub.
682 }; 698 };
683 699
684 700
685 class GenericBinaryOpStub: public CodeStub { 701 class GenericBinaryOpStub: public CodeStub {
686 public: 702 public:
687 GenericBinaryOpStub(Token::Value op, 703 GenericBinaryOpStub(Token::Value op,
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 void Print() { 1010 void Print() {
995 PrintF("NumberToStringStub\n"); 1011 PrintF("NumberToStringStub\n");
996 } 1012 }
997 #endif 1013 #endif
998 }; 1014 };
999 1015
1000 1016
1001 } } // namespace v8::internal 1017 } } // namespace v8::internal
1002 1018
1003 #endif // V8_X64_CODEGEN_X64_H_ 1019 #endif // V8_X64_CODEGEN_X64_H_
OLDNEW
« no previous file with comments | « src/x64/assembler-x64-inl.h ('k') | src/x64/codegen-x64.cc » ('j') | src/x64/codegen-x64.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698