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

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

Issue 2438683005: [regexp] Move RegExp.prototype[@@search] to TF (Closed)
Patch Set: Rename to TryTaggedToFloat64 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
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 561 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 compiler::Node* GrowElementsCapacity( 572 compiler::Node* GrowElementsCapacity(
573 compiler::Node* object, compiler::Node* elements, ElementsKind from_kind, 573 compiler::Node* object, compiler::Node* elements, ElementsKind from_kind,
574 ElementsKind to_kind, compiler::Node* capacity, 574 ElementsKind to_kind, compiler::Node* capacity,
575 compiler::Node* new_capacity, ParameterMode mode, Label* bailout); 575 compiler::Node* new_capacity, ParameterMode mode, Label* bailout);
576 576
577 // Allocation site manipulation 577 // Allocation site manipulation
578 void InitializeAllocationMemento(compiler::Node* base_allocation, 578 void InitializeAllocationMemento(compiler::Node* base_allocation,
579 int base_allocation_size, 579 int base_allocation_size,
580 compiler::Node* allocation_site); 580 compiler::Node* allocation_site);
581 581
582 compiler::Node* TryTaggedToFloat64(compiler::Node* value,
583 Label* if_valueisnotnumber);
582 compiler::Node* TruncateTaggedToFloat64(compiler::Node* context, 584 compiler::Node* TruncateTaggedToFloat64(compiler::Node* context,
583 compiler::Node* value); 585 compiler::Node* value);
584 compiler::Node* TruncateTaggedToWord32(compiler::Node* context, 586 compiler::Node* TruncateTaggedToWord32(compiler::Node* context,
585 compiler::Node* value); 587 compiler::Node* value);
586 // Truncate the floating point value of a HeapNumber to an Int32. 588 // Truncate the floating point value of a HeapNumber to an Int32.
587 compiler::Node* TruncateHeapNumberValueToWord32(compiler::Node* object); 589 compiler::Node* TruncateHeapNumberValueToWord32(compiler::Node* object);
588 590
589 // Conversions. 591 // Conversions.
590 compiler::Node* ChangeFloat64ToTagged(compiler::Node* value); 592 compiler::Node* ChangeFloat64ToTagged(compiler::Node* value);
591 compiler::Node* ChangeInt32ToTagged(compiler::Node* value); 593 compiler::Node* ChangeInt32ToTagged(compiler::Node* value);
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
1093 Label* if_false); 1095 Label* if_false);
1094 1096
1095 enum ResultMode { kDontNegateResult, kNegateResult }; 1097 enum ResultMode { kDontNegateResult, kNegateResult };
1096 1098
1097 compiler::Node* Equal(ResultMode mode, compiler::Node* lhs, 1099 compiler::Node* Equal(ResultMode mode, compiler::Node* lhs,
1098 compiler::Node* rhs, compiler::Node* context); 1100 compiler::Node* rhs, compiler::Node* context);
1099 1101
1100 compiler::Node* StrictEqual(ResultMode mode, compiler::Node* lhs, 1102 compiler::Node* StrictEqual(ResultMode mode, compiler::Node* lhs,
1101 compiler::Node* rhs, compiler::Node* context); 1103 compiler::Node* rhs, compiler::Node* context);
1102 1104
1105 // ECMA#sec-samevalue
1106 // Similar to StrictEqual except that NaNs are treated as equal and minus zero
1107 // differs from positive zero.
1108 // Unlike Equal and StrictEqual, returns a value suitable for use in Branch
1109 // instructions, e.g. Branch(SameValue(...), &label).
1110 compiler::Node* SameValue(compiler::Node* lhs, compiler::Node* rhs,
1111 compiler::Node* context);
1112
1103 compiler::Node* HasProperty( 1113 compiler::Node* HasProperty(
1104 compiler::Node* object, compiler::Node* key, compiler::Node* context, 1114 compiler::Node* object, compiler::Node* key, compiler::Node* context,
1105 Runtime::FunctionId fallback_runtime_function_id = Runtime::kHasProperty); 1115 Runtime::FunctionId fallback_runtime_function_id = Runtime::kHasProperty);
1106 compiler::Node* ForInFilter(compiler::Node* key, compiler::Node* object, 1116 compiler::Node* ForInFilter(compiler::Node* key, compiler::Node* object,
1107 compiler::Node* context); 1117 compiler::Node* context);
1108 1118
1109 compiler::Node* Typeof(compiler::Node* value, compiler::Node* context); 1119 compiler::Node* Typeof(compiler::Node* value, compiler::Node* context);
1110 1120
1111 compiler::Node* InstanceOf(compiler::Node* object, compiler::Node* callable, 1121 compiler::Node* InstanceOf(compiler::Node* object, compiler::Node* callable,
1112 compiler::Node* context); 1122 compiler::Node* context);
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1279 } 1289 }
1280 #else 1290 #else
1281 #define CSA_SLOW_ASSERT(csa, x) ((void)0) 1291 #define CSA_SLOW_ASSERT(csa, x) ((void)0)
1282 #endif 1292 #endif
1283 1293
1284 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); 1294 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags);
1285 1295
1286 } // namespace internal 1296 } // namespace internal
1287 } // namespace v8 1297 } // namespace v8
1288 #endif // V8_CODE_STUB_ASSEMBLER_H_ 1298 #endif // V8_CODE_STUB_ASSEMBLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698