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

Side by Side Diff: src/typing.cc

Issue 430503007: Rename ASSERT* to DCHECK*. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: REBASE and fixes Created 6 years, 4 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/types-inl.h ('k') | src/unicode.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 #include "src/typing.h" 5 #include "src/typing.h"
6 6
7 #include "src/frames.h" 7 #include "src/frames.h"
8 #include "src/frames-inl.h" 8 #include "src/frames-inl.h"
9 #include "src/ostreams.h" 9 #include "src/ostreams.h"
10 #include "src/parser.h" // for CompileTimeValue; TODO(rossberg): should move 10 #include "src/parser.h" // for CompileTimeValue; TODO(rossberg): should move
(...skipping 10 matching lines...) Expand all
21 handle(info->closure()->shared()->feedback_vector()), 21 handle(info->closure()->shared()->feedback_vector()),
22 handle(info->closure()->context()->native_context()), 22 handle(info->closure()->context()->native_context()),
23 info->zone()), 23 info->zone()),
24 store_(info->zone()) { 24 store_(info->zone()) {
25 InitializeAstVisitor(info->zone()); 25 InitializeAstVisitor(info->zone());
26 } 26 }
27 27
28 28
29 #define RECURSE(call) \ 29 #define RECURSE(call) \
30 do { \ 30 do { \
31 ASSERT(!visitor->HasStackOverflow()); \ 31 DCHECK(!visitor->HasStackOverflow()); \
32 call; \ 32 call; \
33 if (visitor->HasStackOverflow()) return; \ 33 if (visitor->HasStackOverflow()) return; \
34 } while (false) 34 } while (false)
35 35
36 void AstTyper::Run(CompilationInfo* info) { 36 void AstTyper::Run(CompilationInfo* info) {
37 AstTyper* visitor = new(info->zone()) AstTyper(info); 37 AstTyper* visitor = new(info->zone()) AstTyper(info);
38 Scope* scope = info->scope(); 38 Scope* scope = info->scope();
39 39
40 // Handle implicit declaration of the function name in named function 40 // Handle implicit declaration of the function name in named function
41 // expressions before other declarations. 41 // expressions before other declarations.
(...skipping 27 matching lines...) Expand all
69 69
70 void AstTyper::ObserveTypesAtOsrEntry(IterationStatement* stmt) { 70 void AstTyper::ObserveTypesAtOsrEntry(IterationStatement* stmt) {
71 if (stmt->OsrEntryId() != info_->osr_ast_id()) return; 71 if (stmt->OsrEntryId() != info_->osr_ast_id()) return;
72 72
73 DisallowHeapAllocation no_gc; 73 DisallowHeapAllocation no_gc;
74 JavaScriptFrameIterator it(isolate()); 74 JavaScriptFrameIterator it(isolate());
75 JavaScriptFrame* frame = it.frame(); 75 JavaScriptFrame* frame = it.frame();
76 Scope* scope = info_->scope(); 76 Scope* scope = info_->scope();
77 77
78 // Assert that the frame on the stack belongs to the function we want to OSR. 78 // Assert that the frame on the stack belongs to the function we want to OSR.
79 ASSERT_EQ(*info_->closure(), frame->function()); 79 DCHECK_EQ(*info_->closure(), frame->function());
80 80
81 int params = scope->num_parameters(); 81 int params = scope->num_parameters();
82 int locals = scope->StackLocalCount(); 82 int locals = scope->StackLocalCount();
83 83
84 // Use sequential composition to achieve desired narrowing. 84 // Use sequential composition to achieve desired narrowing.
85 // The receiver is a parameter with index -1. 85 // The receiver is a parameter with index -1.
86 store_.Seq(parameter_index(-1), ObservedOnStack(frame->receiver())); 86 store_.Seq(parameter_index(-1), ObservedOnStack(frame->receiver()));
87 for (int i = 0; i < params; i++) { 87 for (int i = 0; i < params; i++) {
88 store_.Seq(parameter_index(i), ObservedOnStack(frame->GetParameter(i))); 88 store_.Seq(parameter_index(i), ObservedOnStack(frame->GetParameter(i)));
89 } 89 }
(...skipping 22 matching lines...) Expand all
112 frame->GetExpression(i), 112 frame->GetExpression(i),
113 store_.LookupBounds(stack_local_index(i)).lower); 113 store_.LookupBounds(stack_local_index(i)).lower);
114 } 114 }
115 } 115 }
116 #endif // OBJECT_PRINT 116 #endif // OBJECT_PRINT
117 } 117 }
118 118
119 119
120 #define RECURSE(call) \ 120 #define RECURSE(call) \
121 do { \ 121 do { \
122 ASSERT(!HasStackOverflow()); \ 122 DCHECK(!HasStackOverflow()); \
123 call; \ 123 call; \
124 if (HasStackOverflow()) return; \ 124 if (HasStackOverflow()) return; \
125 } while (false) 125 } while (false)
126 126
127 127
128 void AstTyper::VisitStatements(ZoneList<Statement*>* stmts) { 128 void AstTyper::VisitStatements(ZoneList<Statement*>* stmts) {
129 for (int i = 0; i < stmts->length(); ++i) { 129 for (int i = 0; i < stmts->length(); ++i) {
130 Statement* stmt = stmts->at(i); 130 Statement* stmt = stmts->at(i);
131 RECURSE(Visit(stmt)); 131 RECURSE(Visit(stmt));
132 if (stmt->IsJump()) break; 132 if (stmt->IsJump()) break;
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 429
430 void AstTyper::VisitAssignment(Assignment* expr) { 430 void AstTyper::VisitAssignment(Assignment* expr) {
431 // Collect type feedback. 431 // Collect type feedback.
432 Property* prop = expr->target()->AsProperty(); 432 Property* prop = expr->target()->AsProperty();
433 if (prop != NULL) { 433 if (prop != NULL) {
434 TypeFeedbackId id = expr->AssignmentFeedbackId(); 434 TypeFeedbackId id = expr->AssignmentFeedbackId();
435 expr->set_is_uninitialized(oracle()->StoreIsUninitialized(id)); 435 expr->set_is_uninitialized(oracle()->StoreIsUninitialized(id));
436 if (!expr->IsUninitialized()) { 436 if (!expr->IsUninitialized()) {
437 if (prop->key()->IsPropertyName()) { 437 if (prop->key()->IsPropertyName()) {
438 Literal* lit_key = prop->key()->AsLiteral(); 438 Literal* lit_key = prop->key()->AsLiteral();
439 ASSERT(lit_key != NULL && lit_key->value()->IsString()); 439 DCHECK(lit_key != NULL && lit_key->value()->IsString());
440 Handle<String> name = Handle<String>::cast(lit_key->value()); 440 Handle<String> name = Handle<String>::cast(lit_key->value());
441 oracle()->AssignmentReceiverTypes(id, name, expr->GetReceiverTypes()); 441 oracle()->AssignmentReceiverTypes(id, name, expr->GetReceiverTypes());
442 } else { 442 } else {
443 KeyedAccessStoreMode store_mode; 443 KeyedAccessStoreMode store_mode;
444 oracle()->KeyedAssignmentReceiverTypes( 444 oracle()->KeyedAssignmentReceiverTypes(
445 id, expr->GetReceiverTypes(), &store_mode); 445 id, expr->GetReceiverTypes(), &store_mode);
446 expr->set_store_mode(store_mode); 446 expr->set_store_mode(store_mode);
447 } 447 }
448 } 448 }
449 } 449 }
(...skipping 27 matching lines...) Expand all
477 } 477 }
478 478
479 479
480 void AstTyper::VisitProperty(Property* expr) { 480 void AstTyper::VisitProperty(Property* expr) {
481 // Collect type feedback. 481 // Collect type feedback.
482 TypeFeedbackId id = expr->PropertyFeedbackId(); 482 TypeFeedbackId id = expr->PropertyFeedbackId();
483 expr->set_is_uninitialized(oracle()->LoadIsUninitialized(id)); 483 expr->set_is_uninitialized(oracle()->LoadIsUninitialized(id));
484 if (!expr->IsUninitialized()) { 484 if (!expr->IsUninitialized()) {
485 if (expr->key()->IsPropertyName()) { 485 if (expr->key()->IsPropertyName()) {
486 Literal* lit_key = expr->key()->AsLiteral(); 486 Literal* lit_key = expr->key()->AsLiteral();
487 ASSERT(lit_key != NULL && lit_key->value()->IsString()); 487 DCHECK(lit_key != NULL && lit_key->value()->IsString());
488 Handle<String> name = Handle<String>::cast(lit_key->value()); 488 Handle<String> name = Handle<String>::cast(lit_key->value());
489 oracle()->PropertyReceiverTypes(id, name, expr->GetReceiverTypes()); 489 oracle()->PropertyReceiverTypes(id, name, expr->GetReceiverTypes());
490 } else { 490 } else {
491 bool is_string; 491 bool is_string;
492 oracle()->KeyedPropertyReceiverTypes( 492 oracle()->KeyedPropertyReceiverTypes(
493 id, expr->GetReceiverTypes(), &is_string); 493 id, expr->GetReceiverTypes(), &is_string);
494 expr->set_is_string_access(is_string); 494 expr->set_is_string_access(is_string);
495 } 495 }
496 } 496 }
497 497
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 void AstTyper::VisitModuleUrl(ModuleUrl* module) { 771 void AstTyper::VisitModuleUrl(ModuleUrl* module) {
772 } 772 }
773 773
774 774
775 void AstTyper::VisitModuleStatement(ModuleStatement* stmt) { 775 void AstTyper::VisitModuleStatement(ModuleStatement* stmt) {
776 RECURSE(Visit(stmt->body())); 776 RECURSE(Visit(stmt->body()));
777 } 777 }
778 778
779 779
780 } } // namespace v8::internal 780 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/types-inl.h ('k') | src/unicode.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698