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

Side by Side Diff: src/hydrogen.cc

Issue 567313003: RegExp: Add support for the ES6-proposed sticky flag (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Add tests Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « src/heap/heap.h ('k') | src/jsregexp.h » ('j') | src/jsregexp.cc » ('J')
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 #include "src/hydrogen.h" 5 #include "src/hydrogen.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "src/v8.h" 9 #include "src/v8.h"
10 10
(...skipping 9681 matching lines...) Expand 10 before | Expand all | Expand 10 after
9692 9692
9693 void HOptimizedGraphBuilder::GenerateTypedArrayMaxSizeInHeap( 9693 void HOptimizedGraphBuilder::GenerateTypedArrayMaxSizeInHeap(
9694 CallRuntime* expr) { 9694 CallRuntime* expr) {
9695 DCHECK(expr->arguments()->length() == 0); 9695 DCHECK(expr->arguments()->length() == 0);
9696 HConstant* result = New<HConstant>(static_cast<int32_t>( 9696 HConstant* result = New<HConstant>(static_cast<int32_t>(
9697 FLAG_typed_array_max_size_in_heap)); 9697 FLAG_typed_array_max_size_in_heap));
9698 return ast_context()->ReturnInstruction(result, expr->id()); 9698 return ast_context()->ReturnInstruction(result, expr->id());
9699 } 9699 }
9700 9700
9701 9701
9702 void HOptimizedGraphBuilder::GenerateHarmonyRegExps(
9703 CallRuntime* expr) {
9704 DCHECK(expr->arguments()->length() == 0);
9705 HValue* value = FLAG_harmony_regexps
9706 ? graph()->GetConstantTrue()
9707 : graph()->GetConstantFalse();
9708 return ast_context()->ReturnValue(value);
9709 }
9710
9711
9702 void HOptimizedGraphBuilder::GenerateArrayBufferGetByteLength( 9712 void HOptimizedGraphBuilder::GenerateArrayBufferGetByteLength(
9703 CallRuntime* expr) { 9713 CallRuntime* expr) {
9704 DCHECK(expr->arguments()->length() == 1); 9714 DCHECK(expr->arguments()->length() == 1);
9705 CHECK_ALIVE(VisitForValue(expr->arguments()->at(0))); 9715 CHECK_ALIVE(VisitForValue(expr->arguments()->at(0)));
9706 HValue* buffer = Pop(); 9716 HValue* buffer = Pop();
9707 HInstruction* result = New<HLoadNamedField>( 9717 HInstruction* result = New<HLoadNamedField>(
9708 buffer, 9718 buffer,
9709 static_cast<HValue*>(NULL), 9719 static_cast<HValue*>(NULL),
9710 HObjectAccess::ForJSArrayBufferByteLength()); 9720 HObjectAccess::ForJSArrayBufferByteLength());
9711 return ast_context()->ReturnInstruction(result, expr->id()); 9721 return ast_context()->ReturnInstruction(result, expr->id());
(...skipping 2779 matching lines...) Expand 10 before | Expand all | Expand 10 after
12491 if (ShouldProduceTraceOutput()) { 12501 if (ShouldProduceTraceOutput()) {
12492 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 12502 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
12493 } 12503 }
12494 12504
12495 #ifdef DEBUG 12505 #ifdef DEBUG
12496 graph_->Verify(false); // No full verify. 12506 graph_->Verify(false); // No full verify.
12497 #endif 12507 #endif
12498 } 12508 }
12499 12509
12500 } } // namespace v8::internal 12510 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/heap/heap.h ('k') | src/jsregexp.h » ('j') | src/jsregexp.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698