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

Side by Side Diff: src/hydrogen.h

Issue 150813004: In-heap small typed arrays (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Patch for landing Created 6 years, 8 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 | « src/heap.cc ('k') | src/hydrogen.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 1354 matching lines...) Expand 10 before | Expand all | Expand 10 after
1365 HValue* right, 1365 HValue* right,
1366 HAllocationMode allocation_mode); 1366 HAllocationMode allocation_mode);
1367 // Copies characters from one sequential string to another. 1367 // Copies characters from one sequential string to another.
1368 void BuildCopySeqStringChars(HValue* src, 1368 void BuildCopySeqStringChars(HValue* src,
1369 HValue* src_offset, 1369 HValue* src_offset,
1370 String::Encoding src_encoding, 1370 String::Encoding src_encoding,
1371 HValue* dst, 1371 HValue* dst,
1372 HValue* dst_offset, 1372 HValue* dst_offset,
1373 String::Encoding dst_encoding, 1373 String::Encoding dst_encoding,
1374 HValue* length); 1374 HValue* length);
1375
1376 // Align an object size to object alignment boundary
1377 HValue* BuildObjectSizeAlignment(HValue* unaligned_size, int header_size);
1378
1375 // Both operands are non-empty strings. 1379 // Both operands are non-empty strings.
1376 HValue* BuildUncheckedStringAdd(HValue* left, 1380 HValue* BuildUncheckedStringAdd(HValue* left,
1377 HValue* right, 1381 HValue* right,
1378 HAllocationMode allocation_mode); 1382 HAllocationMode allocation_mode);
1379 // Add two strings using allocation mode, validating type feedback. 1383 // Add two strings using allocation mode, validating type feedback.
1380 HValue* BuildStringAdd(HValue* left, 1384 HValue* BuildStringAdd(HValue* left,
1381 HValue* right, 1385 HValue* right,
1382 HAllocationMode allocation_mode); 1386 HAllocationMode allocation_mode);
1383 1387
1384 HInstruction* BuildUncheckedMonomorphicElementAccess( 1388 HInstruction* BuildUncheckedMonomorphicElementAccess(
(...skipping 930 matching lines...) Expand 10 before | Expand all | Expand 10 after
2315 void HandlePropertyAssignment(Assignment* expr); 2319 void HandlePropertyAssignment(Assignment* expr);
2316 void HandleCompoundAssignment(Assignment* expr); 2320 void HandleCompoundAssignment(Assignment* expr);
2317 void HandlePolymorphicNamedFieldAccess(PropertyAccessType access_type, 2321 void HandlePolymorphicNamedFieldAccess(PropertyAccessType access_type,
2318 BailoutId ast_id, 2322 BailoutId ast_id,
2319 BailoutId return_id, 2323 BailoutId return_id,
2320 HValue* object, 2324 HValue* object,
2321 HValue* value, 2325 HValue* value,
2322 SmallMapList* types, 2326 SmallMapList* types,
2323 Handle<String> name); 2327 Handle<String> name);
2324 2328
2329 HValue* BuildAllocateExternalElements(
2330 ExternalArrayType array_type,
2331 bool is_zero_byte_offset,
2332 HValue* buffer, HValue* byte_offset, HValue* length);
2333 HValue* BuildAllocateFixedTypedArray(
2334 ExternalArrayType array_type, size_t element_size,
2335 ElementsKind fixed_elements_kind,
2336 HValue* byte_length, HValue* length);
2337
2325 bool IsCallNewArrayInlineable(CallNew* expr); 2338 bool IsCallNewArrayInlineable(CallNew* expr);
2326 void BuildInlinedCallNewArray(CallNew* expr); 2339 void BuildInlinedCallNewArray(CallNew* expr);
2327 2340
2328 class PropertyAccessInfo { 2341 class PropertyAccessInfo {
2329 public: 2342 public:
2330 PropertyAccessInfo(HOptimizedGraphBuilder* builder, 2343 PropertyAccessInfo(HOptimizedGraphBuilder* builder,
2331 PropertyAccessType access_type, 2344 PropertyAccessType access_type,
2332 Type* type, 2345 Type* type,
2333 Handle<String> name) 2346 Handle<String> name)
2334 : lookup_(builder->isolate()), 2347 : lookup_(builder->isolate()),
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after
2785 } 2798 }
2786 2799
2787 private: 2800 private:
2788 HGraphBuilder* builder_; 2801 HGraphBuilder* builder_;
2789 }; 2802 };
2790 2803
2791 2804
2792 } } // namespace v8::internal 2805 } } // namespace v8::internal
2793 2806
2794 #endif // V8_HYDROGEN_H_ 2807 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698