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

Side by Side Diff: src/hydrogen.h

Issue 143633007: A64: Synchronize with r18764. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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-inl.h ('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 1288 matching lines...) Expand 10 before | Expand all | Expand 10 after
1299 HValue* elements, 1299 HValue* elements,
1300 ElementsKind kind, 1300 ElementsKind kind,
1301 HValue* length); 1301 HValue* length);
1302 1302
1303 void BuildTransitionElementsKind(HValue* object, 1303 void BuildTransitionElementsKind(HValue* object,
1304 HValue* map, 1304 HValue* map,
1305 ElementsKind from_kind, 1305 ElementsKind from_kind,
1306 ElementsKind to_kind, 1306 ElementsKind to_kind,
1307 bool is_jsarray); 1307 bool is_jsarray);
1308 1308
1309 HValue* BuildNumberToString(HValue* object, Handle<Type> type); 1309 HValue* BuildNumberToString(HValue* object, Type* type);
1310 1310
1311 HValue* BuildUncheckedDictionaryElementLoad(HValue* receiver, 1311 HValue* BuildUncheckedDictionaryElementLoad(HValue* receiver,
1312 HValue* key); 1312 HValue* key);
1313 1313
1314 // Allocates a new object according with the given allocation properties. 1314 // Allocates a new object according with the given allocation properties.
1315 HAllocate* BuildAllocate(HValue* object_size, 1315 HAllocate* BuildAllocate(HValue* object_size,
1316 HType type, 1316 HType type,
1317 InstanceType instance_type, 1317 InstanceType instance_type,
1318 HAllocationMode allocation_mode); 1318 HAllocationMode allocation_mode);
1319 // Computes the sum of two string lengths, taking care of overflow handling. 1319 // Computes the sum of two string lengths, taking care of overflow handling.
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1379 HLoadNamedField* AddLoadElements(HValue* object); 1379 HLoadNamedField* AddLoadElements(HValue* object);
1380 1380
1381 bool MatchRotateRight(HValue* left, 1381 bool MatchRotateRight(HValue* left,
1382 HValue* right, 1382 HValue* right,
1383 HValue** operand, 1383 HValue** operand,
1384 HValue** shift_amount); 1384 HValue** shift_amount);
1385 1385
1386 HValue* BuildBinaryOperation(Token::Value op, 1386 HValue* BuildBinaryOperation(Token::Value op,
1387 HValue* left, 1387 HValue* left,
1388 HValue* right, 1388 HValue* right,
1389 Handle<Type> left_type, 1389 Type* left_type,
1390 Handle<Type> right_type, 1390 Type* right_type,
1391 Handle<Type> result_type, 1391 Type* result_type,
1392 Maybe<int> fixed_right_arg, 1392 Maybe<int> fixed_right_arg,
1393 HAllocationMode allocation_mode); 1393 HAllocationMode allocation_mode);
1394 1394
1395 HLoadNamedField* AddLoadFixedArrayLength(HValue *object); 1395 HLoadNamedField* AddLoadFixedArrayLength(HValue *object);
1396 1396
1397 HValue* AddLoadJSBuiltin(Builtins::JavaScript builtin); 1397 HValue* AddLoadJSBuiltin(Builtins::JavaScript builtin);
1398 1398
1399 HValue* EnforceNumberType(HValue* number, Handle<Type> expected); 1399 HValue* EnforceNumberType(HValue* number, Type* expected);
1400 HValue* TruncateToNumber(HValue* value, Handle<Type>* expected); 1400 HValue* TruncateToNumber(HValue* value, Type** expected);
1401 1401
1402 void FinishExitWithHardDeoptimization(const char* reason, 1402 void FinishExitWithHardDeoptimization(const char* reason,
1403 HBasicBlock* continuation); 1403 HBasicBlock* continuation);
1404 1404
1405 void AddIncrementCounter(StatsCounter* counter); 1405 void AddIncrementCounter(StatsCounter* counter);
1406 1406
1407 class IfBuilder V8_FINAL { 1407 class IfBuilder V8_FINAL {
1408 public: 1408 public:
1409 explicit IfBuilder(HGraphBuilder* builder); 1409 explicit IfBuilder(HGraphBuilder* builder);
1410 IfBuilder(HGraphBuilder* builder, 1410 IfBuilder(HGraphBuilder* builder,
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
1746 HValue* BuildCloneShallowArray(HValue* boilerplate, 1746 HValue* BuildCloneShallowArray(HValue* boilerplate,
1747 HValue* allocation_site, 1747 HValue* allocation_site,
1748 AllocationSiteMode mode, 1748 AllocationSiteMode mode,
1749 ElementsKind kind, 1749 ElementsKind kind,
1750 int length); 1750 int length);
1751 1751
1752 HValue* BuildElementIndexHash(HValue* index); 1752 HValue* BuildElementIndexHash(HValue* index);
1753 1753
1754 void BuildCompareNil( 1754 void BuildCompareNil(
1755 HValue* value, 1755 HValue* value,
1756 Handle<Type> type, 1756 Type* type,
1757 HIfContinuation* continuation); 1757 HIfContinuation* continuation);
1758 1758
1759 void BuildCreateAllocationMemento(HValue* previous_object, 1759 void BuildCreateAllocationMemento(HValue* previous_object,
1760 HValue* previous_object_size, 1760 HValue* previous_object_size,
1761 HValue* payload); 1761 HValue* payload);
1762 1762
1763 HInstruction* BuildConstantMapCheck(Handle<JSObject> constant, 1763 HInstruction* BuildConstantMapCheck(Handle<JSObject> constant,
1764 CompilationInfo* info); 1764 CompilationInfo* info);
1765 HInstruction* BuildCheckPrototypeMaps(Handle<JSObject> prototype, 1765 HInstruction* BuildCheckPrototypeMaps(Handle<JSObject> prototype,
1766 Handle<JSObject> holder); 1766 Handle<JSObject> holder);
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after
2361 Handle<String> name); 2361 Handle<String> name);
2362 void HandleLiteralCompareTypeof(CompareOperation* expr, 2362 void HandleLiteralCompareTypeof(CompareOperation* expr,
2363 Expression* sub_expr, 2363 Expression* sub_expr,
2364 Handle<String> check); 2364 Handle<String> check);
2365 void HandleLiteralCompareNil(CompareOperation* expr, 2365 void HandleLiteralCompareNil(CompareOperation* expr,
2366 Expression* sub_expr, 2366 Expression* sub_expr,
2367 NilValue nil); 2367 NilValue nil);
2368 HControlInstruction* BuildCompareInstruction(Token::Value op, 2368 HControlInstruction* BuildCompareInstruction(Token::Value op,
2369 HValue* left, 2369 HValue* left,
2370 HValue* right, 2370 HValue* right,
2371 Handle<Type> left_type, 2371 Type* left_type,
2372 Handle<Type> right_type, 2372 Type* right_type,
2373 Handle<Type> combined_type, 2373 Type* combined_type,
2374 int left_position, 2374 int left_position,
2375 int right_position, 2375 int right_position,
2376 BailoutId bailout_id); 2376 BailoutId bailout_id);
2377 2377
2378 HInstruction* BuildStringCharCodeAt(HValue* string, 2378 HInstruction* BuildStringCharCodeAt(HValue* string,
2379 HValue* index); 2379 HValue* index);
2380 HValue* BuildBinaryOperation(BinaryOperation* expr, 2380 HValue* BuildBinaryOperation(BinaryOperation* expr,
2381 HValue* left, 2381 HValue* left,
2382 HValue* right); 2382 HValue* right);
2383 HInstruction* BuildIncrement(bool returns_original_input, 2383 HInstruction* BuildIncrement(bool returns_original_input,
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
2696 } 2696 }
2697 2697
2698 private: 2698 private:
2699 HGraphBuilder* builder_; 2699 HGraphBuilder* builder_;
2700 }; 2700 };
2701 2701
2702 2702
2703 } } // namespace v8::internal 2703 } } // namespace v8::internal
2704 2704
2705 #endif // V8_HYDROGEN_H_ 2705 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « src/heap-inl.h ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698