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

Side by Side Diff: src/ia32/lithium-ia32.cc

Issue 1108313003: Add HArrayBufferNotNeutered instruction (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: updates Created 5 years, 7 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 #include <sstream> 5 #include <sstream>
6 6
7 #include "src/v8.h" 7 #include "src/v8.h"
8 8
9 #if V8_TARGET_ARCH_IA32 9 #if V8_TARGET_ARCH_IA32
10 10
(...skipping 2012 matching lines...) Expand 10 before | Expand all | Expand 10 after
2023 return result; 2023 return result;
2024 } 2024 }
2025 2025
2026 2026
2027 LInstruction* LChunkBuilder::DoCheckSmi(HCheckSmi* instr) { 2027 LInstruction* LChunkBuilder::DoCheckSmi(HCheckSmi* instr) {
2028 LOperand* value = UseRegisterAtStart(instr->value()); 2028 LOperand* value = UseRegisterAtStart(instr->value());
2029 return AssignEnvironment(new(zone()) LCheckSmi(value)); 2029 return AssignEnvironment(new(zone()) LCheckSmi(value));
2030 } 2030 }
2031 2031
2032 2032
2033 LInstruction* LChunkBuilder::DoCheckArrayBufferNotNeutered(
2034 HCheckArrayBufferNotNeutered* instr) {
2035 LOperand* view = UseRegisterAtStart(instr->value());
2036 LOperand* scratch = TempRegister();
2037 LCheckArrayBufferNotNeutered* result =
2038 new (zone()) LCheckArrayBufferNotNeutered(view, scratch);
2039 return AssignEnvironment(result);
2040 }
2041
2042
2033 LInstruction* LChunkBuilder::DoCheckInstanceType(HCheckInstanceType* instr) { 2043 LInstruction* LChunkBuilder::DoCheckInstanceType(HCheckInstanceType* instr) {
2034 LOperand* value = UseRegisterAtStart(instr->value()); 2044 LOperand* value = UseRegisterAtStart(instr->value());
2035 LOperand* temp = TempRegister(); 2045 LOperand* temp = TempRegister();
2036 LCheckInstanceType* result = new(zone()) LCheckInstanceType(value, temp); 2046 LCheckInstanceType* result = new(zone()) LCheckInstanceType(value, temp);
2037 return AssignEnvironment(result); 2047 return AssignEnvironment(result);
2038 } 2048 }
2039 2049
2040 2050
2041 LInstruction* LChunkBuilder::DoCheckValue(HCheckValue* instr) { 2051 LInstruction* LChunkBuilder::DoCheckValue(HCheckValue* instr) {
2042 // If the object is in new space, we'll emit a global cell compare and so 2052 // If the object is in new space, we'll emit a global cell compare and so
(...skipping 677 matching lines...) Expand 10 before | Expand all | Expand 10 after
2720 LOperand* function = UseRegisterAtStart(instr->function()); 2730 LOperand* function = UseRegisterAtStart(instr->function());
2721 LAllocateBlockContext* result = 2731 LAllocateBlockContext* result =
2722 new(zone()) LAllocateBlockContext(context, function); 2732 new(zone()) LAllocateBlockContext(context, function);
2723 return MarkAsCall(DefineFixed(result, esi), instr); 2733 return MarkAsCall(DefineFixed(result, esi), instr);
2724 } 2734 }
2725 2735
2726 2736
2727 } } // namespace v8::internal 2737 } } // namespace v8::internal
2728 2738
2729 #endif // V8_TARGET_ARCH_IA32 2739 #endif // V8_TARGET_ARCH_IA32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698