--- /dev/null
+var pIE = require('./_object-pie')
+ , createDesc = require('./_property-desc')
+ , toIObject = require('./_to-iobject')
+ , toPrimitive = require('./_to-primitive')
+ , has = require('./_has')
+ , IE8_DOM_DEFINE = require('./_ie8-dom-define')
+ , gOPD = Object.getOwnPropertyDescriptor;
+
+exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){
+ O = toIObject(O);
+ P = toPrimitive(P, true);
+ if(IE8_DOM_DEFINE)try {
+ return gOPD(O, P);
+ } catch(e){ /* empty */ }
+ if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);
+};
\ No newline at end of file