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

Side by Side Diff: src/crankshaft/x64/lithium-x64.cc

Issue 1475823003: [runtime] First step to sanitize regexp literal creation. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years 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 "src/crankshaft/x64/lithium-x64.h" 5 #include "src/crankshaft/x64/lithium-x64.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #if V8_TARGET_ARCH_X64 9 #if V8_TARGET_ARCH_X64
10 10
(...skipping 2454 matching lines...) Expand 10 before | Expand all | Expand 10 after
2465 LOperand* context = UseAny(instr->context()); 2465 LOperand* context = UseAny(instr->context());
2466 LOperand* size = instr->size()->IsConstant() 2466 LOperand* size = instr->size()->IsConstant()
2467 ? UseConstant(instr->size()) 2467 ? UseConstant(instr->size())
2468 : UseTempRegister(instr->size()); 2468 : UseTempRegister(instr->size());
2469 LOperand* temp = TempRegister(); 2469 LOperand* temp = TempRegister();
2470 LAllocate* result = new(zone()) LAllocate(context, size, temp); 2470 LAllocate* result = new(zone()) LAllocate(context, size, temp);
2471 return AssignPointerMap(DefineAsRegister(result)); 2471 return AssignPointerMap(DefineAsRegister(result));
2472 } 2472 }
2473 2473
2474 2474
2475 LInstruction* LChunkBuilder::DoRegExpLiteral(HRegExpLiteral* instr) {
2476 LOperand* context = UseFixed(instr->context(), rsi);
2477 LRegExpLiteral* result = new(zone()) LRegExpLiteral(context);
2478 return MarkAsCall(DefineFixed(result, rax), instr);
2479 }
2480
2481
2482 LInstruction* LChunkBuilder::DoOsrEntry(HOsrEntry* instr) { 2475 LInstruction* LChunkBuilder::DoOsrEntry(HOsrEntry* instr) {
2483 DCHECK(argument_count_ == 0); 2476 DCHECK(argument_count_ == 0);
2484 allocator_->MarkAsOsrEntry(); 2477 allocator_->MarkAsOsrEntry();
2485 current_block_->last_environment()->set_ast_id(instr->ast_id()); 2478 current_block_->last_environment()->set_ast_id(instr->ast_id());
2486 return AssignEnvironment(new(zone()) LOsrEntry); 2479 return AssignEnvironment(new(zone()) LOsrEntry);
2487 } 2480 }
2488 2481
2489 2482
2490 LInstruction* LChunkBuilder::DoParameter(HParameter* instr) { 2483 LInstruction* LChunkBuilder::DoParameter(HParameter* instr) {
2491 LParameter* result = new(zone()) LParameter; 2484 LParameter* result = new(zone()) LParameter;
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
2691 LAllocateBlockContext* result = 2684 LAllocateBlockContext* result =
2692 new(zone()) LAllocateBlockContext(context, function); 2685 new(zone()) LAllocateBlockContext(context, function);
2693 return MarkAsCall(DefineFixed(result, rsi), instr); 2686 return MarkAsCall(DefineFixed(result, rsi), instr);
2694 } 2687 }
2695 2688
2696 2689
2697 } // namespace internal 2690 } // namespace internal
2698 } // namespace v8 2691 } // namespace v8
2699 2692
2700 #endif // V8_TARGET_ARCH_X64 2693 #endif // V8_TARGET_ARCH_X64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698