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

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

Issue 101413006: Implement in-heap backing store for typed arrays. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Platform ports 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
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 1518 matching lines...) Expand 10 before | Expand all | Expand 10 after
1529 inputs_[0] = elements; 1529 inputs_[0] = elements;
1530 inputs_[1] = key; 1530 inputs_[1] = key;
1531 } 1531 }
1532 1532
1533 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") 1533 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed")
1534 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) 1534 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed)
1535 1535
1536 bool is_external() const { 1536 bool is_external() const {
1537 return hydrogen()->is_external(); 1537 return hydrogen()->is_external();
1538 } 1538 }
1539 bool is_fixed_typed_array() const {
1540 return hydrogen()->is_fixed_typed_array();
1541 }
1539 LOperand* elements() { return inputs_[0]; } 1542 LOperand* elements() { return inputs_[0]; }
1540 LOperand* key() { return inputs_[1]; } 1543 LOperand* key() { return inputs_[1]; }
1541 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1544 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1542 uint32_t additional_index() const { return hydrogen()->index_offset(); } 1545 uint32_t additional_index() const { return hydrogen()->index_offset(); }
1543 ElementsKind elements_kind() const { 1546 ElementsKind elements_kind() const {
1544 return hydrogen()->elements_kind(); 1547 return hydrogen()->elements_kind();
1545 } 1548 }
1546 }; 1549 };
1547 1550
1548 1551
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
2184 2187
2185 class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> { 2188 class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> {
2186 public: 2189 public:
2187 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) { 2190 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) {
2188 inputs_[0] = object; 2191 inputs_[0] = object;
2189 inputs_[1] = key; 2192 inputs_[1] = key;
2190 inputs_[2] = value; 2193 inputs_[2] = value;
2191 } 2194 }
2192 2195
2193 bool is_external() const { return hydrogen()->is_external(); } 2196 bool is_external() const { return hydrogen()->is_external(); }
2197 bool is_fixed_typed_array() const {
2198 return hydrogen()->is_fixed_typed_array();
2199 }
2194 LOperand* elements() { return inputs_[0]; } 2200 LOperand* elements() { return inputs_[0]; }
2195 LOperand* key() { return inputs_[1]; } 2201 LOperand* key() { return inputs_[1]; }
2196 LOperand* value() { return inputs_[2]; } 2202 LOperand* value() { return inputs_[2]; }
2197 ElementsKind elements_kind() const { return hydrogen()->elements_kind(); } 2203 ElementsKind elements_kind() const { return hydrogen()->elements_kind(); }
2198 2204
2199 DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed") 2205 DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed")
2200 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed) 2206 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed)
2201 2207
2202 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 2208 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
2203 bool NeedsCanonicalization() { return hydrogen()->NeedsCanonicalization(); } 2209 bool NeedsCanonicalization() { return hydrogen()->NeedsCanonicalization(); }
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after
2792 2798
2793 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2799 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2794 }; 2800 };
2795 2801
2796 #undef DECLARE_HYDROGEN_ACCESSOR 2802 #undef DECLARE_HYDROGEN_ACCESSOR
2797 #undef DECLARE_CONCRETE_INSTRUCTION 2803 #undef DECLARE_CONCRETE_INSTRUCTION
2798 2804
2799 } } // namespace v8::int 2805 } } // namespace v8::int
2800 2806
2801 #endif // V8_X64_LITHIUM_X64_H_ 2807 #endif // V8_X64_LITHIUM_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698