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

Side by Side Diff: src/code-stub-assembler.h

Issue 2438683005: [regexp] Move RegExp.prototype[@@search] to TF (Closed)
Patch Set: Rebase Created 4 years, 1 month 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
« no previous file with comments | « src/builtins/builtins-regexp.cc ('k') | src/code-stub-assembler.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 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_CODE_STUB_ASSEMBLER_H_ 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_
6 #define V8_CODE_STUB_ASSEMBLER_H_ 6 #define V8_CODE_STUB_ASSEMBLER_H_
7 7
8 #include <functional> 8 #include <functional>
9 9
10 #include "src/compiler/code-assembler.h" 10 #include "src/compiler/code-assembler.h"
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 compiler::Node* GrowElementsCapacity( 571 compiler::Node* GrowElementsCapacity(
572 compiler::Node* object, compiler::Node* elements, ElementsKind from_kind, 572 compiler::Node* object, compiler::Node* elements, ElementsKind from_kind,
573 ElementsKind to_kind, compiler::Node* capacity, 573 ElementsKind to_kind, compiler::Node* capacity,
574 compiler::Node* new_capacity, ParameterMode mode, Label* bailout); 574 compiler::Node* new_capacity, ParameterMode mode, Label* bailout);
575 575
576 // Allocation site manipulation 576 // Allocation site manipulation
577 void InitializeAllocationMemento(compiler::Node* base_allocation, 577 void InitializeAllocationMemento(compiler::Node* base_allocation,
578 int base_allocation_size, 578 int base_allocation_size,
579 compiler::Node* allocation_site); 579 compiler::Node* allocation_site);
580 580
581 compiler::Node* TryTaggedToFloat64(compiler::Node* value,
582 Label* if_valueisnotnumber);
581 compiler::Node* TruncateTaggedToFloat64(compiler::Node* context, 583 compiler::Node* TruncateTaggedToFloat64(compiler::Node* context,
582 compiler::Node* value); 584 compiler::Node* value);
583 compiler::Node* TruncateTaggedToWord32(compiler::Node* context, 585 compiler::Node* TruncateTaggedToWord32(compiler::Node* context,
584 compiler::Node* value); 586 compiler::Node* value);
585 // Truncate the floating point value of a HeapNumber to an Int32. 587 // Truncate the floating point value of a HeapNumber to an Int32.
586 compiler::Node* TruncateHeapNumberValueToWord32(compiler::Node* object); 588 compiler::Node* TruncateHeapNumberValueToWord32(compiler::Node* object);
587 589
588 // Conversions. 590 // Conversions.
589 compiler::Node* ChangeFloat64ToTagged(compiler::Node* value); 591 compiler::Node* ChangeFloat64ToTagged(compiler::Node* value);
590 compiler::Node* ChangeInt32ToTagged(compiler::Node* value); 592 compiler::Node* ChangeInt32ToTagged(compiler::Node* value);
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
1097 Label* if_false); 1099 Label* if_false);
1098 1100
1099 enum ResultMode { kDontNegateResult, kNegateResult }; 1101 enum ResultMode { kDontNegateResult, kNegateResult };
1100 1102
1101 compiler::Node* Equal(ResultMode mode, compiler::Node* lhs, 1103 compiler::Node* Equal(ResultMode mode, compiler::Node* lhs,
1102 compiler::Node* rhs, compiler::Node* context); 1104 compiler::Node* rhs, compiler::Node* context);
1103 1105
1104 compiler::Node* StrictEqual(ResultMode mode, compiler::Node* lhs, 1106 compiler::Node* StrictEqual(ResultMode mode, compiler::Node* lhs,
1105 compiler::Node* rhs, compiler::Node* context); 1107 compiler::Node* rhs, compiler::Node* context);
1106 1108
1109 // ECMA#sec-samevalue
1110 // Similar to StrictEqual except that NaNs are treated as equal and minus zero
1111 // differs from positive zero.
1112 // Unlike Equal and StrictEqual, returns a value suitable for use in Branch
1113 // instructions, e.g. Branch(SameValue(...), &label).
1114 compiler::Node* SameValue(compiler::Node* lhs, compiler::Node* rhs,
1115 compiler::Node* context);
1116
1107 compiler::Node* HasProperty( 1117 compiler::Node* HasProperty(
1108 compiler::Node* object, compiler::Node* key, compiler::Node* context, 1118 compiler::Node* object, compiler::Node* key, compiler::Node* context,
1109 Runtime::FunctionId fallback_runtime_function_id = Runtime::kHasProperty); 1119 Runtime::FunctionId fallback_runtime_function_id = Runtime::kHasProperty);
1110 compiler::Node* ForInFilter(compiler::Node* key, compiler::Node* object, 1120 compiler::Node* ForInFilter(compiler::Node* key, compiler::Node* object,
1111 compiler::Node* context); 1121 compiler::Node* context);
1112 1122
1113 compiler::Node* Typeof(compiler::Node* value, compiler::Node* context); 1123 compiler::Node* Typeof(compiler::Node* value, compiler::Node* context);
1114 1124
1115 compiler::Node* InstanceOf(compiler::Node* object, compiler::Node* callable, 1125 compiler::Node* InstanceOf(compiler::Node* object, compiler::Node* callable,
1116 compiler::Node* context); 1126 compiler::Node* context);
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
1301 } 1311 }
1302 #else 1312 #else
1303 #define CSA_SLOW_ASSERT(csa, x) ((void)0) 1313 #define CSA_SLOW_ASSERT(csa, x) ((void)0)
1304 #endif 1314 #endif
1305 1315
1306 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); 1316 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags);
1307 1317
1308 } // namespace internal 1318 } // namespace internal
1309 } // namespace v8 1319 } // namespace v8
1310 #endif // V8_CODE_STUB_ASSEMBLER_H_ 1320 #endif // V8_CODE_STUB_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/builtins/builtins-regexp.cc ('k') | src/code-stub-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698