internals:engine

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
internals:engine [2010/04/20 10:52] – Show code properly derickinternals:engine [2010/04/20 10:58] derick
Line 24: Line 24:
  
  
-==== Throwing Exceptions on a 64bit Architecture ====+==== Memory Management ==== 
 + 
 +  [12:00pm] scoates: ok.. last question for now, I think: should I explicitly destroy on RSHUTDOWN, or let the non-persistent flag take care of that? 
 +  [12:00pm] johannes_: always cleanup yourself 
 + 
 +Note here: while MM shutdown will take care of all allocated memory, it won't run any dtors etc., that's why it is important to clean up the resources properly - otherwise external dependencies can be messed up. And of course you'd get leaks reported in the debug mode.  
 + 
 +==== Causes for crashes ==== 
 + 
 +=== Throwing Exceptions ===
  
 If throwing exceptions results in a segmentation fault on 64bit systems only, then be sure that you have: If throwing exceptions results in a segmentation fault on 64bit systems only, then be sure that you have:
Line 31: Line 40:
 (Remark: This header is always needed. The segfault might be caused by the fact, that C defaults the return value and parameters of undefined parameters to int. In cases where pointers and/or long data types are needed this might be wrong so a wrong function call is being made. A good compiler should give a warning. --johannes) (Remark: This header is always needed. The segfault might be caused by the fact, that C defaults the return value and parameters of undefined parameters to int. In cases where pointers and/or long data types are needed this might be wrong so a wrong function call is being made. A good compiler should give a warning. --johannes)
  
-==== Not yet categorized ====+==== Hashes ====
   [11:58am] scoates: what's the difference between zend_hash_[add] and zend_hash_quick_[add] ?   [11:58am] scoates: what's the difference between zend_hash_[add] and zend_hash_quick_[add] ?
   [11:58am] scoates: removal of gofaster loops? (-:   [11:58am] scoates: removal of gofaster loops? (-:
   [11:58am] Derick: with the 2nd one you can provide an already calculated hash-list index   [11:58am] Derick: with the 2nd one you can provide an already calculated hash-list index
-  [11:58am] Derick: plus some spaces  
  
   [11:59am] scoates: and the hashtable will automatically grow on _add, right? the length passed to init is just a hint?   [11:59am] scoates: and the hashtable will automatically grow on _add, right? the length passed to init is just a hint?
   [11:59am] johannes_: right   [11:59am] johannes_: right
- 
-  [12:00pm] scoates: ok.. last question for now, I think: should I explicitly destroy on RSHUTDOWN, or let the non-persistent flag take care of that? 
-  [12:00pm] johannes_: always cleanup yourself 
-  [12:02pm] Derick: just like mommy told you 
-  [12:02pm] Derick: :) 
- 
-Note here: while MM shutdown will take care of all allocated memory, it won't run any dtors etc., that's why it is important to clean up the resources properly - otherwise external dependencies can be messed up. And of course you'd get leaks reported in the debug mode.  
  
internals/engine.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1