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

Side by Side Diff: src/full-codegen/arm64/full-codegen-arm64.cc

Issue 2695653005: Revert of Remove SIMD.js from V8. (Closed)
Patch Set: Created 3 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
« no previous file with comments | « src/full-codegen/arm/full-codegen-arm.cc ('k') | src/full-codegen/ia32/full-codegen-ia32.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 #if V8_TARGET_ARCH_ARM64 5 #if V8_TARGET_ARCH_ARM64
6 6
7 #include "src/ast/compile-time-value.h" 7 #include "src/ast/compile-time-value.h"
8 #include "src/ast/scopes.h" 8 #include "src/ast/scopes.h"
9 #include "src/builtins/builtins-constructor.h" 9 #include "src/builtins/builtins-constructor.h"
10 #include "src/code-factory.h" 10 #include "src/code-factory.h"
(...skipping 2560 matching lines...) Expand 10 before | Expand all | Expand 10 after
2571 } else if (String::Equals(check, factory->object_string())) { 2571 } else if (String::Equals(check, factory->object_string())) {
2572 ASM_LOCATION("FullCodeGenerator::EmitLiteralCompareTypeof object_string"); 2572 ASM_LOCATION("FullCodeGenerator::EmitLiteralCompareTypeof object_string");
2573 __ JumpIfSmi(x0, if_false); 2573 __ JumpIfSmi(x0, if_false);
2574 __ JumpIfRoot(x0, Heap::kNullValueRootIndex, if_true); 2574 __ JumpIfRoot(x0, Heap::kNullValueRootIndex, if_true);
2575 STATIC_ASSERT(LAST_JS_RECEIVER_TYPE == LAST_TYPE); 2575 STATIC_ASSERT(LAST_JS_RECEIVER_TYPE == LAST_TYPE);
2576 __ JumpIfObjectType(x0, x10, x11, FIRST_JS_RECEIVER_TYPE, if_false, lt); 2576 __ JumpIfObjectType(x0, x10, x11, FIRST_JS_RECEIVER_TYPE, if_false, lt);
2577 // Check for callable or undetectable objects => false. 2577 // Check for callable or undetectable objects => false.
2578 __ Ldrb(x10, FieldMemOperand(x10, Map::kBitFieldOffset)); 2578 __ Ldrb(x10, FieldMemOperand(x10, Map::kBitFieldOffset));
2579 __ TestAndSplit(x10, (1 << Map::kIsCallable) | (1 << Map::kIsUndetectable), 2579 __ TestAndSplit(x10, (1 << Map::kIsCallable) | (1 << Map::kIsUndetectable),
2580 if_true, if_false, fall_through); 2580 if_true, if_false, fall_through);
2581 // clang-format off
2582 #define SIMD128_TYPE(TYPE, Type, type, lane_count, lane_type) \
2583 } else if (String::Equals(check, factory->type##_string())) { \
2584 ASM_LOCATION("FullCodeGenerator::EmitLiteralCompareTypeof " \
2585 #type "_string"); \
2586 __ JumpIfSmi(x0, if_true); \
2587 __ Ldr(x0, FieldMemOperand(x0, HeapObject::kMapOffset)); \
2588 __ CompareRoot(x0, Heap::k##Type##MapRootIndex); \
2589 Split(eq, if_true, if_false, fall_through);
2590 SIMD128_TYPES(SIMD128_TYPE)
2591 #undef SIMD128_TYPE
2592 // clang-format on
2581 } else { 2593 } else {
2582 ASM_LOCATION("FullCodeGenerator::EmitLiteralCompareTypeof other"); 2594 ASM_LOCATION("FullCodeGenerator::EmitLiteralCompareTypeof other");
2583 if (if_false != fall_through) __ B(if_false); 2595 if (if_false != fall_through) __ B(if_false);
2584 } 2596 }
2585 context()->Plug(if_true, if_false); 2597 context()->Plug(if_true, if_false);
2586 } 2598 }
2587 2599
2588 2600
2589 void FullCodeGenerator::VisitCompareOperation(CompareOperation* expr) { 2601 void FullCodeGenerator::VisitCompareOperation(CompareOperation* expr) {
2590 Comment cmnt(masm_, "[ CompareOperation"); 2602 Comment cmnt(masm_, "[ CompareOperation");
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
2898 } 2910 }
2899 2911
2900 return INTERRUPT; 2912 return INTERRUPT;
2901 } 2913 }
2902 2914
2903 2915
2904 } // namespace internal 2916 } // namespace internal
2905 } // namespace v8 2917 } // namespace v8
2906 2918
2907 #endif // V8_TARGET_ARCH_ARM64 2919 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/full-codegen/arm/full-codegen-arm.cc ('k') | src/full-codegen/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698