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

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

Issue 6580032: X64 Crankshaft: Add untagged version of TranscendentalCacheStub to x64, enabl... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 9 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 | « no previous file | src/x64/code-stubs-x64.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 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 21 matching lines...) Expand all
32 #include "type-info.h" 32 #include "type-info.h"
33 33
34 namespace v8 { 34 namespace v8 {
35 namespace internal { 35 namespace internal {
36 36
37 37
38 // Compute a transcendental math function natively, or call the 38 // Compute a transcendental math function natively, or call the
39 // TranscendentalCache runtime function. 39 // TranscendentalCache runtime function.
40 class TranscendentalCacheStub: public CodeStub { 40 class TranscendentalCacheStub: public CodeStub {
41 public: 41 public:
42 explicit TranscendentalCacheStub(TranscendentalCache::Type type) 42 enum ArgumentType {
43 : type_(type) {} 43 TAGGED = 0,
44 UNTAGGED = 1 << TranscendentalCache::kTranscendentalTypeBits
45 };
46
47 explicit TranscendentalCacheStub(TranscendentalCache::Type type,
48 ArgumentType argument_type)
49 : type_(type), argument_type_(argument_type) {}
44 void Generate(MacroAssembler* masm); 50 void Generate(MacroAssembler* masm);
45 private: 51 private:
46 TranscendentalCache::Type type_; 52 TranscendentalCache::Type type_;
53 ArgumentType argument_type_;
54
47 Major MajorKey() { return TranscendentalCache; } 55 Major MajorKey() { return TranscendentalCache; }
48 int MinorKey() { return type_; } 56 int MinorKey() { return type_ | argument_type_; }
49 Runtime::FunctionId RuntimeFunction(); 57 Runtime::FunctionId RuntimeFunction();
50 void GenerateOperation(MacroAssembler* masm, Label* on_nan_result); 58 void GenerateOperation(MacroAssembler* masm);
51 }; 59 };
52 60
53 61
54 class ToBooleanStub: public CodeStub { 62 class ToBooleanStub: public CodeStub {
55 public: 63 public:
56 ToBooleanStub() { } 64 ToBooleanStub() { }
57 65
58 void Generate(MacroAssembler* masm); 66 void Generate(MacroAssembler* masm);
59 67
60 private: 68 private:
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 bool load_elements_from_receiver, 510 bool load_elements_from_receiver,
503 bool key_is_untagged, 511 bool key_is_untagged,
504 Label* key_not_smi, 512 Label* key_not_smi,
505 Label* value_not_smi, 513 Label* value_not_smi,
506 Label* not_pixel_array, 514 Label* not_pixel_array,
507 Label* out_of_range); 515 Label* out_of_range);
508 516
509 } } // namespace v8::internal 517 } } // namespace v8::internal
510 518
511 #endif // V8_X64_CODE_STUBS_X64_H_ 519 #endif // V8_X64_CODE_STUBS_X64_H_
OLDNEW
« no previous file with comments | « no previous file | src/x64/code-stubs-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698