Annotation of parser3/src/classes/memory.C, revision 1.14

1.2       paf         1: /** @file
                      2:        Parser: @b memory parser class.
                      3: 
1.12      moko        4:        Copyright (c) 2001-2017 Art. Lebedev Studio (http://www.artlebedev.com)
1.2       paf         5:        Author: Alexandr Petrosian <paf@design.ru>(http://paf.design.ru)
                      6: */
                      7: 
                      8: #include "pa_common.h"
                      9: #include "pa_vmemory.h"
                     10: #include "pa_request.h"
                     11: 
1.14    ! moko       12: volatile const char * IDENT_MEMORY_C="$Id: memory.C,v 1.13 2017/12/03 23:56:05 moko Exp $" IDENT_PA_VMEMORY_H;
1.9       moko       13: 
1.2       paf        14: class MMemory: public Methoded {
                     15: public:
                     16:        MMemory();
                     17: 
                     18: public: // Methoded
                     19:        bool used_directly() { return false; }
                     20: };
                     21: 
                     22: // global variables
                     23: 
1.11      moko       24: DECLARE_CLASS_VAR(memory, new MMemory);
1.2       paf        25: 
1.3       paf        26: #ifdef GC_DEBUG
1.13      moko       27: extern "C" void GC_generate_random_backtrace();
1.3       paf        28: #endif
                     29: 
1.4       paf        30: static void _compact(Request& r, MethodParams&) {
1.2       paf        31:        r.wipe_unused_execution_stack();
                     32: #ifndef PA_DEBUG_DISABLE_GC
1.3       paf        33:        {
                     34:                GC_dont_gc=0;
                     35:                GC_gcollect();
1.14    ! moko       36:                GC_dont_gc=1;
1.13      moko       37: #ifdef GC_DEBUG
                     38:                GC_generate_random_backtrace();
                     39: #endif
1.3       paf        40:        }
                     41: #endif
1.13      moko       42: }
1.2       paf        43: 
                     44: // constructor
                     45: 
                     46: MMemory::MMemory(): Methoded("memory") {
                     47:        // ^compact[]
                     48:        add_native_method("compact", Method::CT_STATIC, _compact, 0, 0);
                     49: }

E-mail: