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

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: GC fixes 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
« no previous file with comments | « include/v8.h ('k') | src/arm/lithium-arm.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 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 1577 matching lines...) Expand 10 before | Expand all | Expand 10 after
1588 } 1588 }
1589 1589
1590 LOperand* elements() { return inputs_[0]; } 1590 LOperand* elements() { return inputs_[0]; }
1591 LOperand* key() { return inputs_[1]; } 1591 LOperand* key() { return inputs_[1]; }
1592 ElementsKind elements_kind() const { 1592 ElementsKind elements_kind() const {
1593 return hydrogen()->elements_kind(); 1593 return hydrogen()->elements_kind();
1594 } 1594 }
1595 bool is_external() const { 1595 bool is_external() const {
1596 return hydrogen()->is_external(); 1596 return hydrogen()->is_external();
1597 } 1597 }
1598 bool is_fixed_typed_array() const {
1599 return hydrogen()->is_fixed_typed_array();
1600 }
1601 bool is_typed_elements() const {
1602 return is_external() || is_fixed_typed_array();
1603 }
1598 1604
1599 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") 1605 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed")
1600 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) 1606 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed)
1601 1607
1602 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1608 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1603 uint32_t additional_index() const { return hydrogen()->index_offset(); } 1609 uint32_t additional_index() const { return hydrogen()->index_offset(); }
1604 }; 1610 };
1605 1611
1606 1612
1607 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> { 1613 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> {
(...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after
2220 2226
2221 class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> { 2227 class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> {
2222 public: 2228 public:
2223 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) { 2229 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) {
2224 inputs_[0] = object; 2230 inputs_[0] = object;
2225 inputs_[1] = key; 2231 inputs_[1] = key;
2226 inputs_[2] = value; 2232 inputs_[2] = value;
2227 } 2233 }
2228 2234
2229 bool is_external() const { return hydrogen()->is_external(); } 2235 bool is_external() const { return hydrogen()->is_external(); }
2236 bool is_fixed_typed_array() const {
2237 return hydrogen()->is_fixed_typed_array();
2238 }
2239 bool is_typed_elements() const {
2240 return is_external() || is_fixed_typed_array();
2241 }
2230 LOperand* elements() { return inputs_[0]; } 2242 LOperand* elements() { return inputs_[0]; }
2231 LOperand* key() { return inputs_[1]; } 2243 LOperand* key() { return inputs_[1]; }
2232 LOperand* value() { return inputs_[2]; } 2244 LOperand* value() { return inputs_[2]; }
2233 ElementsKind elements_kind() const { 2245 ElementsKind elements_kind() const {
2234 return hydrogen()->elements_kind(); 2246 return hydrogen()->elements_kind();
2235 } 2247 }
2236 2248
2237 DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed") 2249 DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed")
2238 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed) 2250 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed)
2239 2251
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
2831 2843
2832 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2844 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2833 }; 2845 };
2834 2846
2835 #undef DECLARE_HYDROGEN_ACCESSOR 2847 #undef DECLARE_HYDROGEN_ACCESSOR
2836 #undef DECLARE_CONCRETE_INSTRUCTION 2848 #undef DECLARE_CONCRETE_INSTRUCTION
2837 2849
2838 } } // namespace v8::internal 2850 } } // namespace v8::internal
2839 2851
2840 #endif // V8_ARM_LITHIUM_ARM_H_ 2852 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW
« no previous file with comments | « include/v8.h ('k') | src/arm/lithium-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698