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

Side by Side Diff: src/arm/lithium-arm.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 1572 matching lines...) Expand 10 before | Expand all | Expand 10 after
1583 } 1583 }
1584 1584
1585 LOperand* elements() { return inputs_[0]; } 1585 LOperand* elements() { return inputs_[0]; }
1586 LOperand* key() { return inputs_[1]; } 1586 LOperand* key() { return inputs_[1]; }
1587 ElementsKind elements_kind() const { 1587 ElementsKind elements_kind() const {
1588 return hydrogen()->elements_kind(); 1588 return hydrogen()->elements_kind();
1589 } 1589 }
1590 bool is_external() const { 1590 bool is_external() const {
1591 return hydrogen()->is_external(); 1591 return hydrogen()->is_external();
1592 } 1592 }
1593 bool is_fixed_typed_array() const {
1594 return hydrogen()->is_fixed_typed_array();
1595 }
1593 1596
1594 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") 1597 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed")
1595 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) 1598 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed)
1596 1599
1597 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1600 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1598 uint32_t additional_index() const { return hydrogen()->index_offset(); } 1601 uint32_t additional_index() const { return hydrogen()->index_offset(); }
1599 }; 1602 };
1600 1603
1601 1604
1602 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> { 1605 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> {
(...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after
2242 2245
2243 class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> { 2246 class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> {
2244 public: 2247 public:
2245 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) { 2248 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) {
2246 inputs_[0] = object; 2249 inputs_[0] = object;
2247 inputs_[1] = key; 2250 inputs_[1] = key;
2248 inputs_[2] = value; 2251 inputs_[2] = value;
2249 } 2252 }
2250 2253
2251 bool is_external() const { return hydrogen()->is_external(); } 2254 bool is_external() const { return hydrogen()->is_external(); }
2255 bool is_fixed_typed_array() const {
2256 return hydrogen()->is_fixed_typed_array();
2257 }
2252 LOperand* elements() { return inputs_[0]; } 2258 LOperand* elements() { return inputs_[0]; }
2253 LOperand* key() { return inputs_[1]; } 2259 LOperand* key() { return inputs_[1]; }
2254 LOperand* value() { return inputs_[2]; } 2260 LOperand* value() { return inputs_[2]; }
2255 ElementsKind elements_kind() const { 2261 ElementsKind elements_kind() const {
2256 return hydrogen()->elements_kind(); 2262 return hydrogen()->elements_kind();
2257 } 2263 }
2258 2264
2259 DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed") 2265 DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed")
2260 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed) 2266 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed)
2261 2267
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after
2859 2865
2860 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2866 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2861 }; 2867 };
2862 2868
2863 #undef DECLARE_HYDROGEN_ACCESSOR 2869 #undef DECLARE_HYDROGEN_ACCESSOR
2864 #undef DECLARE_CONCRETE_INSTRUCTION 2870 #undef DECLARE_CONCRETE_INSTRUCTION
2865 2871
2866 } } // namespace v8::internal 2872 } } // namespace v8::internal
2867 2873
2868 #endif // V8_ARM_LITHIUM_ARM_H_ 2874 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW
« no previous file with comments | « include/v8.h ('k') | src/arm/lithium-arm.cc » ('j') | src/arm/lithium-arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698