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

Side by Side Diff: src/contexts.h

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/compiler/x64/instruction-selector-x64.cc ('k') | src/contexts.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 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 #ifndef V8_CONTEXTS_H_ 5 #ifndef V8_CONTEXTS_H_
6 #define V8_CONTEXTS_H_ 6 #define V8_CONTEXTS_H_
7 7
8 #include "src/heap.h" 8 #include "src/heap.h"
9 #include "src/objects.h" 9 #include "src/objects.h"
10 10
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 // The native context contains additional slots for fast access to native 244 // The native context contains additional slots for fast access to native
245 // properties. 245 // properties.
246 // 246 //
247 // Finally, with Harmony scoping, the JSFunction representing a top level 247 // Finally, with Harmony scoping, the JSFunction representing a top level
248 // script will have the GlobalContext rather than a FunctionContext. 248 // script will have the GlobalContext rather than a FunctionContext.
249 249
250 class Context: public FixedArray { 250 class Context: public FixedArray {
251 public: 251 public:
252 // Conversions. 252 // Conversions.
253 static Context* cast(Object* context) { 253 static Context* cast(Object* context) {
254 ASSERT(context->IsContext()); 254 DCHECK(context->IsContext());
255 return reinterpret_cast<Context*>(context); 255 return reinterpret_cast<Context*>(context);
256 } 256 }
257 257
258 // The default context slot layout; indices are FixedArray slot indices. 258 // The default context slot layout; indices are FixedArray slot indices.
259 enum { 259 enum {
260 // These slots are in all contexts. 260 // These slots are in all contexts.
261 CLOSURE_INDEX, 261 CLOSURE_INDEX,
262 PREVIOUS_INDEX, 262 PREVIOUS_INDEX,
263 // The extension slot is used for either the global object (in global 263 // The extension slot is used for either the global object (in global
264 // contexts), eval extension object (function contexts), subject of with 264 // contexts), eval extension object (function contexts), subject of with
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 NATIVE_CONTEXT_SLOTS, 407 NATIVE_CONTEXT_SLOTS,
408 FIRST_WEAK_SLOT = OPTIMIZED_FUNCTIONS_LIST 408 FIRST_WEAK_SLOT = OPTIMIZED_FUNCTIONS_LIST
409 }; 409 };
410 410
411 // Direct slot access. 411 // Direct slot access.
412 JSFunction* closure() { return JSFunction::cast(get(CLOSURE_INDEX)); } 412 JSFunction* closure() { return JSFunction::cast(get(CLOSURE_INDEX)); }
413 void set_closure(JSFunction* closure) { set(CLOSURE_INDEX, closure); } 413 void set_closure(JSFunction* closure) { set(CLOSURE_INDEX, closure); }
414 414
415 Context* previous() { 415 Context* previous() {
416 Object* result = unchecked_previous(); 416 Object* result = unchecked_previous();
417 ASSERT(IsBootstrappingOrValidParentContext(result, this)); 417 DCHECK(IsBootstrappingOrValidParentContext(result, this));
418 return reinterpret_cast<Context*>(result); 418 return reinterpret_cast<Context*>(result);
419 } 419 }
420 void set_previous(Context* context) { set(PREVIOUS_INDEX, context); } 420 void set_previous(Context* context) { set(PREVIOUS_INDEX, context); }
421 421
422 bool has_extension() { return extension() != NULL; } 422 bool has_extension() { return extension() != NULL; }
423 Object* extension() { return get(EXTENSION_INDEX); } 423 Object* extension() { return get(EXTENSION_INDEX); }
424 void set_extension(Object* object) { set(EXTENSION_INDEX, object); } 424 void set_extension(Object* object) { set(EXTENSION_INDEX, object); }
425 425
426 JSModule* module() { return JSModule::cast(get(EXTENSION_INDEX)); } 426 JSModule* module() { return JSModule::cast(get(EXTENSION_INDEX)); }
427 void set_module(JSModule* module) { set(EXTENSION_INDEX, module); } 427 void set_module(JSModule* module) { set(EXTENSION_INDEX, module); }
428 428
429 // Get the context where var declarations will be hoisted to, which 429 // Get the context where var declarations will be hoisted to, which
430 // may be the context itself. 430 // may be the context itself.
431 Context* declaration_context(); 431 Context* declaration_context();
432 432
433 GlobalObject* global_object() { 433 GlobalObject* global_object() {
434 Object* result = get(GLOBAL_OBJECT_INDEX); 434 Object* result = get(GLOBAL_OBJECT_INDEX);
435 ASSERT(IsBootstrappingOrGlobalObject(this->GetIsolate(), result)); 435 DCHECK(IsBootstrappingOrGlobalObject(this->GetIsolate(), result));
436 return reinterpret_cast<GlobalObject*>(result); 436 return reinterpret_cast<GlobalObject*>(result);
437 } 437 }
438 void set_global_object(GlobalObject* object) { 438 void set_global_object(GlobalObject* object) {
439 set(GLOBAL_OBJECT_INDEX, object); 439 set(GLOBAL_OBJECT_INDEX, object);
440 } 440 }
441 441
442 // Returns a JSGlobalProxy object or null. 442 // Returns a JSGlobalProxy object or null.
443 JSObject* global_proxy(); 443 JSObject* global_proxy();
444 void set_global_proxy(JSObject* global); 444 void set_global_proxy(JSObject* global);
445 445
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 void AddOptimizedCode(Code* code); 500 void AddOptimizedCode(Code* code);
501 void SetOptimizedCodeListHead(Object* head); 501 void SetOptimizedCodeListHead(Object* head);
502 Object* OptimizedCodeListHead(); 502 Object* OptimizedCodeListHead();
503 void SetDeoptimizedCodeListHead(Object* head); 503 void SetDeoptimizedCodeListHead(Object* head);
504 Object* DeoptimizedCodeListHead(); 504 Object* DeoptimizedCodeListHead();
505 505
506 Handle<Object> ErrorMessageForCodeGenerationFromStrings(); 506 Handle<Object> ErrorMessageForCodeGenerationFromStrings();
507 507
508 #define NATIVE_CONTEXT_FIELD_ACCESSORS(index, type, name) \ 508 #define NATIVE_CONTEXT_FIELD_ACCESSORS(index, type, name) \
509 void set_##name(type* value) { \ 509 void set_##name(type* value) { \
510 ASSERT(IsNativeContext()); \ 510 DCHECK(IsNativeContext()); \
511 set(index, value); \ 511 set(index, value); \
512 } \ 512 } \
513 bool is_##name(type* value) { \ 513 bool is_##name(type* value) { \
514 ASSERT(IsNativeContext()); \ 514 DCHECK(IsNativeContext()); \
515 return type::cast(get(index)) == value; \ 515 return type::cast(get(index)) == value; \
516 } \ 516 } \
517 type* name() { \ 517 type* name() { \
518 ASSERT(IsNativeContext()); \ 518 DCHECK(IsNativeContext()); \
519 return type::cast(get(index)); \ 519 return type::cast(get(index)); \
520 } 520 }
521 NATIVE_CONTEXT_FIELDS(NATIVE_CONTEXT_FIELD_ACCESSORS) 521 NATIVE_CONTEXT_FIELDS(NATIVE_CONTEXT_FIELD_ACCESSORS)
522 #undef NATIVE_CONTEXT_FIELD_ACCESSORS 522 #undef NATIVE_CONTEXT_FIELD_ACCESSORS
523 523
524 // Lookup the slot called name, starting with the current context. 524 // Lookup the slot called name, starting with the current context.
525 // There are three possibilities: 525 // There are three possibilities:
526 // 526 //
527 // 1) result->IsContext(): 527 // 1) result->IsContext():
528 // The binding was found in a context. *index is always the 528 // The binding was found in a context. *index is always the
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 static bool IsBootstrappingOrGlobalObject(Isolate* isolate, Object* object); 580 static bool IsBootstrappingOrGlobalObject(Isolate* isolate, Object* object);
581 #endif 581 #endif
582 582
583 STATIC_ASSERT(kHeaderSize == Internals::kContextHeaderSize); 583 STATIC_ASSERT(kHeaderSize == Internals::kContextHeaderSize);
584 STATIC_ASSERT(EMBEDDER_DATA_INDEX == Internals::kContextEmbedderDataIndex); 584 STATIC_ASSERT(EMBEDDER_DATA_INDEX == Internals::kContextEmbedderDataIndex);
585 }; 585 };
586 586
587 } } // namespace v8::internal 587 } } // namespace v8::internal
588 588
589 #endif // V8_CONTEXTS_H_ 589 #endif // V8_CONTEXTS_H_
OLDNEW
« no previous file with comments | « src/compiler/x64/instruction-selector-x64.cc ('k') | src/contexts.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698