static v8::Handle<v8::Value> getFloat32Callback(const v8::Arguments& args) { INC_STATS("DOM.DataView.getFloat32"); if (args.Length() < 1) return throwError("Not enough arguments", V8Proxy::TypeError); DataView* imp = V8DataView::toNative(args.Holder()); ExceptionCode ec = 0; { EXCEPTION_BLOCK(unsigned, byteOffset, toUInt32(MAYBE_MISSING_PARAMETER(args, 0, MissingIsUndefined))); if (args.Length() <= 1) { float result = imp->getFloat32(byteOffset, ec); if (UNLIKELY(ec)) goto fail; return v8::Number::New(result); } EXCEPTION_BLOCK(bool, littleEndian, MAYBE_MISSING_PARAMETER(args, 1, MissingIsUndefined)->BooleanValue()); float result = imp->getFloat32(byteOffset, littleEndian, ec); if (UNLIKELY(ec)) goto fail; return v8::Number::New(result); } fail: V8Proxy::setDOMException(ec); return v8::Handle<v8::Value>(); }