changeset 13355:15b74a2a9a9d

905 want llquantize() support in DTrace Reviewed by: Robert Mustacchi <robert.mustacchi@joyent.com> Reviewed by: David Pacheco <dap@joyent.com> Approved by: Garrett D'Amore <garrett@nexenta.com>
author Bryan Cantrill <bryan@joyent.com>
date Tue, 08 Feb 2011 01:46:16 -0800
parents 2b2c36a81512
children ae254853587f
files usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTOREVEN.nodivide.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTOREVEN.notfactor.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTORMATCH.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTORNSTEPS.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTORSMALL.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTORTYPE.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTORVAL.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_HIGHMATCH.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_HIGHTYPE.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_HIGHVAL.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_LOWMATCH.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_LOWTYPE.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_LOWVAL.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_MAGRANGE.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_NSTEPMATCH.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_NSTEPTYPE.d usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_NSTEPVAL.d usr/src/cmd/dtrace/test/tst/common/llquantize/tst.bases.d usr/src/cmd/dtrace/test/tst/common/llquantize/tst.bases.d.out usr/src/cmd/dtrace/test/tst/common/llquantize/tst.basic.d usr/src/cmd/dtrace/test/tst/common/llquantize/tst.basic.d.out usr/src/cmd/dtrace/test/tst/common/llquantize/tst.negorder.d usr/src/cmd/dtrace/test/tst/common/llquantize/tst.negorder.d.out usr/src/cmd/dtrace/test/tst/common/llquantize/tst.negvalue.d usr/src/cmd/dtrace/test/tst/common/llquantize/tst.negvalue.d.out usr/src/cmd/dtrace/test/tst/common/llquantize/tst.normal.d usr/src/cmd/dtrace/test/tst/common/llquantize/tst.normal.d.out usr/src/cmd/dtrace/test/tst/common/llquantize/tst.range.d usr/src/cmd/dtrace/test/tst/common/llquantize/tst.range.d.out usr/src/cmd/dtrace/test/tst/common/llquantize/tst.steps.d usr/src/cmd/dtrace/test/tst/common/llquantize/tst.steps.d.out usr/src/cmd/dtrace/test/tst/common/llquantize/tst.trunc.d usr/src/cmd/dtrace/test/tst/common/llquantize/tst.trunc.d.out usr/src/lib/libdtrace/common/dt_aggregate.c usr/src/lib/libdtrace/common/dt_cc.c usr/src/lib/libdtrace/common/dt_consume.c usr/src/lib/libdtrace/common/dt_errtags.h usr/src/lib/libdtrace/common/dt_impl.h usr/src/lib/libdtrace/common/dt_open.c usr/src/lib/libdtrace/common/dt_pragma.c usr/src/lib/libdtrace/common/dt_printf.c usr/src/lib/libdtrace/common/dtrace.h usr/src/pkg/manifests/system-dtrace-tests.mf usr/src/uts/common/dtrace/dtrace.c usr/src/uts/common/sys/dtrace.h
diffstat 46 files changed, 3973 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTOREVEN.nodivide.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, 0, 10, 25);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTOREVEN.notfactor.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, 0, 10, 30);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTORMATCH.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,30 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, 0, 10, 10);
+	@ = llquantize(0, 3, 0, 10, 81);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTORNSTEPS.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, 0, 10, 7);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTORSMALL.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 1, 0, 10, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTORTYPE.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,30 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	this->doogle = 10;
+	@ = llquantize(0, this->doogle, 0, 10, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_FACTORVAL.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 65537, 0, 10, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_HIGHMATCH.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,30 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, 0, 10, 10);
+	@ = llquantize(0, 10, 0, 11, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_HIGHTYPE.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,30 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	this->doogle = 10;
+	@ = llquantize(0, 10, 0, this->doogle, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_HIGHVAL.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, 0, -1, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_LOWMATCH.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,30 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, 0, 10, 10);
+	@ = llquantize(0, 10, 1, 10, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_LOWTYPE.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,30 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	this->doogle = 0;
+	@ = llquantize(0, 10, this->doogle, 10, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_LOWVAL.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, -1, 10, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_MAGRANGE.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, 10, 0, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, 0, 100, 10);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_NSTEPMATCH.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,30 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(0, 10, 0, 10, 10);
+	@ = llquantize(0, 10, 0, 10, 100);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_NSTEPTYPE.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,30 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	this->doogle = 10;
+	@ = llquantize(0, 10, 0, 10, this->doogle);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/err.D_LLQUANT_NSTEPVAL.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+BEGIN
+{
+	@ = llquantize(123, 10, 0, 10, 123456);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.bases.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,46 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+#pragma D option quiet
+
+tick-1ms
+/i++ <= 100/
+{
+	@two = llquantize(i, 2, 0, 6, 2);
+	@three = llquantize(i, 3, 0, 1, 9);
+	@four = llquantize(i, 4, 0, 1, 4);
+	@five = llquantize(i, 5, 0, 1, 25);
+	@six = llquantize(i, 6, 0, 3, 12);
+	@seven = llquantize(i, 7, 0, 1, 7);
+	@eight = llquantize(i, 8, 0, 1, 16);
+	@nine = llquantize(i, 9, 0, 1, 9);
+	@ten = llquantize(i, 10, 0, 1, 10);
+}
+
+tick-1ms
+/i > 100/
+{
+	exit(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.bases.d.out	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,177 @@
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |@                                        2        
+               4 |@@                                       4        
+               8 |@@@                                      8        
+              16 |@@@@@@                                   16       
+              32 |@@@@@@@@@@@@@                            32       
+              64 |@@@@@@@@@@@@@@@                          38       
+          >= 128 |                                         0        
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |                                         1        
+               3 |                                         1        
+               4 |                                         1        
+               5 |                                         1        
+               6 |                                         1        
+               7 |                                         1        
+               8 |                                         1        
+            >= 9 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    93       
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |                                         1        
+               3 |                                         1        
+               4 |@@                                       4        
+               8 |@@                                       4        
+              12 |@@                                       4        
+           >= 16 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@       86       
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |                                         1        
+               3 |                                         1        
+               4 |                                         1        
+               5 |                                         1        
+               6 |                                         1        
+               7 |                                         1        
+               8 |                                         1        
+               9 |                                         1        
+              10 |                                         1        
+              11 |                                         1        
+              12 |                                         1        
+              13 |                                         1        
+              14 |                                         1        
+              15 |                                         1        
+              16 |                                         1        
+              17 |                                         1        
+              18 |                                         1        
+              19 |                                         1        
+              20 |                                         1        
+              21 |                                         1        
+              22 |                                         1        
+              23 |                                         1        
+              24 |                                         1        
+           >= 25 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@           77       
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |                                         1        
+               3 |                                         1        
+               4 |                                         1        
+               5 |                                         1        
+               6 |@                                        3        
+               9 |@                                        3        
+              12 |@                                        3        
+              15 |@                                        3        
+              18 |@                                        3        
+              21 |@                                        3        
+              24 |@                                        3        
+              27 |@                                        3        
+              30 |@                                        3        
+              33 |@                                        3        
+              36 |@@@@@@@                                  18       
+              54 |@@@@@@@                                  18       
+              72 |@@@@@@@                                  18       
+              90 |@@@@@                                    12       
+             108 |                                         0        
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |                                         1        
+               3 |                                         1        
+               4 |                                         1        
+               5 |                                         1        
+               6 |                                         1        
+               7 |@@@                                      7        
+              14 |@@@                                      7        
+              21 |@@@                                      7        
+              28 |@@@                                      7        
+              35 |@@@                                      7        
+              42 |@@@                                      7        
+           >= 49 |@@@@@@@@@@@@@@@@@@@@@                    53       
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |                                         1        
+               3 |                                         1        
+               4 |                                         1        
+               5 |                                         1        
+               6 |                                         1        
+               7 |                                         1        
+               8 |@@                                       4        
+              12 |@@                                       4        
+              16 |@@                                       4        
+              20 |@@                                       4        
+              24 |@@                                       4        
+              28 |@@                                       4        
+              32 |@@                                       4        
+              36 |@@                                       4        
+              40 |@@                                       4        
+              44 |@@                                       4        
+              48 |@@                                       4        
+              52 |@@                                       4        
+              56 |@@                                       4        
+              60 |@@                                       4        
+           >= 64 |@@@@@@@@@@@@@@@                          38       
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |                                         1        
+               3 |                                         1        
+               4 |                                         1        
+               5 |                                         1        
+               6 |                                         1        
+               7 |                                         1        
+               8 |                                         1        
+               9 |@@@@                                     9        
+              18 |@@@@                                     9        
+              27 |@@@@                                     9        
+              36 |@@@@                                     9        
+              45 |@@@@                                     9        
+              54 |@@@@                                     9        
+              63 |@@@@                                     9        
+              72 |@@@@                                     9        
+           >= 81 |@@@@@@@@                                 21       
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |                                         1        
+               3 |                                         1        
+               4 |                                         1        
+               5 |                                         1        
+               6 |                                         1        
+               7 |                                         1        
+               8 |                                         1        
+               9 |                                         1        
+              10 |@@@@                                     10       
+              20 |@@@@                                     10       
+              30 |@@@@                                     10       
+              40 |@@@@                                     10       
+              50 |@@@@                                     10       
+              60 |@@@@                                     10       
+              70 |@@@@                                     10       
+              80 |@@@@                                     10       
+              90 |@@@@                                     10       
+          >= 100 |@                                        2        
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.basic.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,38 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+#pragma D option quiet
+
+tick-1ms
+/i++ <= 100/
+{
+	@ = llquantize(i, 10, 0, 10, 10);
+}
+
+tick-1ms
+/i > 100/
+{
+	exit(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.basic.d.out	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,25 @@
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |                                         1        
+               3 |                                         1        
+               4 |                                         1        
+               5 |                                         1        
+               6 |                                         1        
+               7 |                                         1        
+               8 |                                         1        
+               9 |                                         1        
+              10 |@@@@                                     10       
+              20 |@@@@                                     10       
+              30 |@@@@                                     10       
+              40 |@@@@                                     10       
+              50 |@@@@                                     10       
+              60 |@@@@                                     10       
+              70 |@@@@                                     10       
+              80 |@@@@                                     10       
+              90 |@@@@                                     10       
+             100 |@                                        2        
+             200 |                                         0        
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.negorder.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,62 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+#pragma D option quiet
+
+BEGIN
+{
+	a = 7;
+	b = 13;
+	val = (-a * b) + a;
+}
+
+tick-1ms
+{
+	incr = val % b;
+	val += a;
+}
+
+tick-1ms
+/val == 0/
+{
+	val += a;
+}
+
+tick-1ms
+/incr != 0/
+{
+	i++;
+	@llquanty[i] = llquantize(1, 10, 0, 10, 10, incr);
+}
+
+tick-1ms
+/incr == 0/
+{
+	printf("Ordering of llquantize() with some negative weights:\n");
+	printa(@llquanty);
+	printf("\n");
+
+	exit(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.negorder.d.out	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,148 @@
+Ordering of llquantize() with some negative weights:
+
+                2
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -12      
+               2                                         | 0        
+
+                4
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -11      
+               2                                         | 0        
+
+                6
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -10      
+               2                                         | 0        
+
+                8
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -9       
+               2                                         | 0        
+
+               10
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -8       
+               2                                         | 0        
+
+               12
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -7       
+               2                                         | 0        
+
+                1
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -6       
+               2                                         | 0        
+
+                3
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -5       
+               2                                         | 0        
+
+                5
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -4       
+               2                                         | 0        
+
+                7
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -3       
+               2                                         | 0        
+
+                9
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -2       
+               2                                         | 0        
+
+               11
+           value  ------------- Distribution ------------- count    
+             < 1                                         | 0        
+               1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -1       
+               2                                         | 0        
+
+               14
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1        
+               2 |                                         0        
+
+               16
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2        
+               2 |                                         0        
+
+               18
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3        
+               2 |                                         0        
+
+               20
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4        
+               2 |                                         0        
+
+               22
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 5        
+               2 |                                         0        
+
+               24
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 6        
+               2 |                                         0        
+
+               13
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 7        
+               2 |                                         0        
+
+               15
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 8        
+               2 |                                         0        
+
+               17
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9        
+               2 |                                         0        
+
+               19
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 10       
+               2 |                                         0        
+
+               21
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 11       
+               2 |                                         0        
+
+               23
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 12       
+               2 |                                         0        
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.negvalue.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,38 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+#pragma D option quiet
+
+tick-1ms
+/i++ <= 100/
+{
+	@ = llquantize(i, 10, 0, 10, 10, 50 - i);
+}
+
+tick-1ms
+/i > 100/
+{
+	exit(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.negvalue.d.out	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,25 @@
+
+
+           value  ------------- Distribution ------------- count    
+             < 1                     |                     0        
+               1                     |                     49       
+               2                     |                     48       
+               3                     |                     47       
+               4                     |                     46       
+               5                     |                     45       
+               6                     |                     44       
+               7                     |                     43       
+               8                     |                     42       
+               9                     |                     41       
+              10                     |@@@                  355      
+              20                     |@@                   255      
+              30                     |@                    155      
+              40                     |                     55       
+              50                     |                     -45      
+              60                    @|                     -145     
+              70                   @@|                     -245     
+              80                  @@@|                     -345     
+              90                  @@@|                     -445     
+             100                    @|                     -101     
+             200                     |                     0        
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.normal.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,40 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+#pragma D option quiet
+
+tick-1ms
+/i++ <= 100/
+{
+	@ = llquantize(i, 10, 0, 10, 10);
+}
+
+tick-1ms
+/i > 100/
+{
+	normalize(@, 10);
+	printa(@);
+	exit(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.normal.d.out	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,26 @@
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         0        
+               2 |                                         0        
+               3 |                                         0        
+               4 |                                         0        
+               5 |                                         0        
+               6 |                                         0        
+               7 |                                         0        
+               8 |                                         0        
+               9 |                                         0        
+              10 |@@@@                                     1        
+              20 |@@@@                                     1        
+              30 |@@@@                                     1        
+              40 |@@@@                                     1        
+              50 |@@@@                                     1        
+              60 |@@@@                                     1        
+              70 |@@@@                                     1        
+              80 |@@@@                                     1        
+              90 |@@@@                                     1        
+             100 |@                                        0        
+             200 |                                         0        
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.range.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,38 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+#pragma D option quiet
+
+BEGIN
+{
+	@["Screven"] = llquantize(0, 10, 1, 2, 20, 25);
+	@["Katz"] = llquantize(1, 10, 1, 2, 20, -100);
+	@["Kurian"] = llquantize(7, 10, 1, 2, 20, 15);
+	@["Rozwat"] = llquantize(49, 10, 1, 2, 20, 15);
+	@["Fowler"] = llquantize(343, 10, 1, 2, 20, 150);
+
+	printa(@);
+	exit(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.range.d.out	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,29 @@
+
+  Katz                                              
+           value  ------------- Distribution ------------- count    
+            < 10 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| -100     
+              10                                         | 0        
+
+  Kurian                                            
+           value  ------------- Distribution ------------- count    
+            < 10 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 15       
+              10 |                                         0        
+
+  Screven                                           
+           value  ------------- Distribution ------------- count    
+            < 10 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 25       
+              10 |                                         0        
+
+  Rozwat                                            
+           value  ------------- Distribution ------------- count    
+              40 |                                         0        
+              45 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 15       
+              50 |                                         0        
+
+  Fowler                                            
+           value  ------------- Distribution ------------- count    
+             250 |                                         0        
+             300 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 150      
+             350 |                                         0        
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.steps.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,52 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+#pragma D option quiet
+
+tick-1ms
+/i++ <= 100/
+{
+	@ = llquantize(i, 10, 0, 10, 20);
+	@hunid = llquantize(i * 10, 10, 0, 10, 100);
+	@large = llquantize(i * 100, 10, 0, 10, 1000);
+}
+
+tick-1ms
+/i > 100/
+{
+	exit(0);
+}
+
+END
+{
+	printf("20 steps:\n");
+	printa(@);
+
+	printf("100 steps:\n");
+	printa(@hunid);
+
+	printf("1000 steps:\n");
+	printa(@large);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.steps.d.out	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,2033 @@
+20 steps:
+
+
+           value  ------------- Distribution ------------- count    
+             < 1 |                                         0        
+               1 |                                         1        
+               2 |                                         1        
+               3 |                                         1        
+               4 |                                         1        
+               5 |                                         1        
+               6 |                                         1        
+               7 |                                         1        
+               8 |                                         1        
+               9 |                                         1        
+              10 |@@                                       5        
+              15 |@@                                       5        
+              20 |@@                                       5        
+              25 |@@                                       5        
+              30 |@@                                       5        
+              35 |@@                                       5        
+              40 |@@                                       5        
+              45 |@@                                       5        
+              50 |@@                                       5        
+              55 |@@                                       5        
+              60 |@@                                       5        
+              65 |@@                                       5        
+              70 |@@                                       5        
+              75 |@@                                       5        
+              80 |@@                                       5        
+              85 |@@                                       5        
+              90 |@@                                       5        
+              95 |@@                                       5        
+             100 |@                                        2        
+             150 |                                         0        
+
+100 steps:
+
+
+           value  ------------- Distribution ------------- count    
+               9 |                                         0        
+              10 |                                         1        
+              11 |                                         0        
+              12 |                                         0        
+              13 |                                         0        
+              14 |                                         0        
+              15 |                                         0        
+              16 |                                         0        
+              17 |                                         0        
+              18 |                                         0        
+              19 |                                         0        
+              20 |                                         1        
+              21 |                                         0        
+              22 |                                         0        
+              23 |                                         0        
+              24 |                                         0        
+              25 |                                         0        
+              26 |                                         0        
+              27 |                                         0        
+              28 |                                         0        
+              29 |                                         0        
+              30 |                                         1        
+              31 |                                         0        
+              32 |                                         0        
+              33 |                                         0        
+              34 |                                         0        
+              35 |                                         0        
+              36 |                                         0        
+              37 |                                         0        
+              38 |                                         0        
+              39 |                                         0        
+              40 |                                         1        
+              41 |                                         0        
+              42 |                                         0        
+              43 |                                         0        
+              44 |                                         0        
+              45 |                                         0        
+              46 |                                         0        
+              47 |                                         0        
+              48 |                                         0        
+              49 |                                         0        
+              50 |                                         1        
+              51 |                                         0        
+              52 |                                         0        
+              53 |                                         0        
+              54 |                                         0        
+              55 |                                         0        
+              56 |                                         0        
+              57 |                                         0        
+              58 |                                         0        
+              59 |                                         0        
+              60 |                                         1        
+              61 |                                         0        
+              62 |                                         0        
+              63 |                                         0        
+              64 |                                         0        
+              65 |                                         0        
+              66 |                                         0        
+              67 |                                         0        
+              68 |                                         0        
+              69 |                                         0        
+              70 |                                         1        
+              71 |                                         0        
+              72 |                                         0        
+              73 |                                         0        
+              74 |                                         0        
+              75 |                                         0        
+              76 |                                         0        
+              77 |                                         0        
+              78 |                                         0        
+              79 |                                         0        
+              80 |                                         1        
+              81 |                                         0        
+              82 |                                         0        
+              83 |                                         0        
+              84 |                                         0        
+              85 |                                         0        
+              86 |                                         0        
+              87 |                                         0        
+              88 |                                         0        
+              89 |                                         0        
+              90 |                                         1        
+              91 |                                         0        
+              92 |                                         0        
+              93 |                                         0        
+              94 |                                         0        
+              95 |                                         0        
+              96 |                                         0        
+              97 |                                         0        
+              98 |                                         0        
+              99 |                                         0        
+             100 |                                         1        
+             110 |                                         1        
+             120 |                                         1        
+             130 |                                         1        
+             140 |                                         1        
+             150 |                                         1        
+             160 |                                         1        
+             170 |                                         1        
+             180 |                                         1        
+             190 |                                         1        
+             200 |                                         1        
+             210 |                                         1        
+             220 |                                         1        
+             230 |                                         1        
+             240 |                                         1        
+             250 |                                         1        
+             260 |                                         1        
+             270 |                                         1        
+             280 |                                         1        
+             290 |                                         1        
+             300 |                                         1        
+             310 |                                         1        
+             320 |                                         1        
+             330 |                                         1        
+             340 |                                         1        
+             350 |                                         1        
+             360 |                                         1        
+             370 |                                         1        
+             380 |                                         1        
+             390 |                                         1        
+             400 |                                         1        
+             410 |                                         1        
+             420 |                                         1        
+             430 |                                         1        
+             440 |                                         1        
+             450 |                                         1        
+             460 |                                         1        
+             470 |                                         1        
+             480 |                                         1        
+             490 |                                         1        
+             500 |                                         1        
+             510 |                                         1        
+             520 |                                         1        
+             530 |                                         1        
+             540 |                                         1        
+             550 |                                         1        
+             560 |                                         1        
+             570 |                                         1        
+             580 |                                         1        
+             590 |                                         1        
+             600 |                                         1        
+             610 |                                         1        
+             620 |                                         1        
+             630 |                                         1        
+             640 |                                         1        
+             650 |                                         1        
+             660 |                                         1        
+             670 |                                         1        
+             680 |                                         1        
+             690 |                                         1        
+             700 |                                         1        
+             710 |                                         1        
+             720 |                                         1        
+             730 |                                         1        
+             740 |                                         1        
+             750 |                                         1        
+             760 |                                         1        
+             770 |                                         1        
+             780 |                                         1        
+             790 |                                         1        
+             800 |                                         1        
+             810 |                                         1        
+             820 |                                         1        
+             830 |                                         1        
+             840 |                                         1        
+             850 |                                         1        
+             860 |                                         1        
+             870 |                                         1        
+             880 |                                         1        
+             890 |                                         1        
+             900 |                                         1        
+             910 |                                         1        
+             920 |                                         1        
+             930 |                                         1        
+             940 |                                         1        
+             950 |                                         1        
+             960 |                                         1        
+             970 |                                         1        
+             980 |                                         1        
+             990 |                                         1        
+            1000 |@                                        2        
+            1100 |                                         0        
+
+1000 steps:
+
+
+           value  ------------- Distribution ------------- count    
+              99 |                                         0        
+             100 |                                         1        
+             101 |                                         0        
+             102 |                                         0        
+             103 |                                         0        
+             104 |                                         0        
+             105 |                                         0        
+             106 |                                         0        
+             107 |                                         0        
+             108 |                                         0        
+             109 |                                         0        
+             110 |                                         0        
+             111 |                                         0        
+             112 |                                         0        
+             113 |                                         0        
+             114 |                                         0        
+             115 |                                         0        
+             116 |                                         0        
+             117 |                                         0        
+             118 |                                         0        
+             119 |                                         0        
+             120 |                                         0        
+             121 |                                         0        
+             122 |                                         0        
+             123 |                                         0        
+             124 |                                         0        
+             125 |                                         0        
+             126 |                                         0        
+             127 |                                         0        
+             128 |                                         0        
+             129 |                                         0        
+             130 |                                         0        
+             131 |                                         0        
+             132 |                                         0        
+             133 |                                         0        
+             134 |                                         0        
+             135 |                                         0        
+             136 |                                         0        
+             137 |                                         0        
+             138 |                                         0        
+             139 |                                         0        
+             140 |                                         0        
+             141 |                                         0        
+             142 |                                         0        
+             143 |                                         0        
+             144 |                                         0        
+             145 |                                         0        
+             146 |                                         0        
+             147 |                                         0        
+             148 |                                         0        
+             149 |                                         0        
+             150 |                                         0        
+             151 |                                         0        
+             152 |                                         0        
+             153 |                                         0        
+             154 |                                         0        
+             155 |                                         0        
+             156 |                                         0        
+             157 |                                         0        
+             158 |                                         0        
+             159 |                                         0        
+             160 |                                         0        
+             161 |                                         0        
+             162 |                                         0        
+             163 |                                         0        
+             164 |                                         0        
+             165 |                                         0        
+             166 |                                         0        
+             167 |                                         0        
+             168 |                                         0        
+             169 |                                         0        
+             170 |                                         0        
+             171 |                                         0        
+             172 |                                         0        
+             173 |                                         0        
+             174 |                                         0        
+             175 |                                         0        
+             176 |                                         0        
+             177 |                                         0        
+             178 |                                         0        
+             179 |                                         0        
+             180 |                                         0        
+             181 |                                         0        
+             182 |                                         0        
+             183 |                                         0        
+             184 |                                         0        
+             185 |                                         0        
+             186 |                                         0        
+             187 |                                         0        
+             188 |                                         0        
+             189 |                                         0        
+             190 |                                         0        
+             191 |                                         0        
+             192 |                                         0        
+             193 |                                         0        
+             194 |                                         0        
+             195 |                                         0        
+             196 |                                         0        
+             197 |                                         0        
+             198 |                                         0        
+             199 |                                         0        
+             200 |                                         1        
+             201 |                                         0        
+             202 |                                         0        
+             203 |                                         0        
+             204 |                                         0        
+             205 |                                         0        
+             206 |                                         0        
+             207 |                                         0        
+             208 |                                         0        
+             209 |                                         0        
+             210 |                                         0        
+             211 |                                         0        
+             212 |                                         0        
+             213 |                                         0        
+             214 |                                         0        
+             215 |                                         0        
+             216 |                                         0        
+             217 |                                         0        
+             218 |                                         0        
+             219 |                                         0        
+             220 |                                         0        
+             221 |                                         0        
+             222 |                                         0        
+             223 |                                         0        
+             224 |                                         0        
+             225 |                                         0        
+             226 |                                         0        
+             227 |                                         0        
+             228 |                                         0        
+             229 |                                         0        
+             230 |                                         0        
+             231 |                                         0        
+             232 |                                         0        
+             233 |                                         0        
+             234 |                                         0        
+             235 |                                         0        
+             236 |                                         0        
+             237 |                                         0        
+             238 |                                         0        
+             239 |                                         0        
+             240 |                                         0        
+             241 |                                         0        
+             242 |                                         0        
+             243 |                                         0        
+             244 |                                         0        
+             245 |                                         0        
+             246 |                                         0        
+             247 |                                         0        
+             248 |                                         0        
+             249 |                                         0        
+             250 |                                         0        
+             251 |                                         0        
+             252 |                                         0        
+             253 |                                         0        
+             254 |                                         0        
+             255 |                                         0        
+             256 |                                         0        
+             257 |                                         0        
+             258 |                                         0        
+             259 |                                         0        
+             260 |                                         0        
+             261 |                                         0        
+             262 |                                         0        
+             263 |                                         0        
+             264 |                                         0        
+             265 |                                         0        
+             266 |                                         0        
+             267 |                                         0        
+             268 |                                         0        
+             269 |                                         0        
+             270 |                                         0        
+             271 |                                         0        
+             272 |                                         0        
+             273 |                                         0        
+             274 |                                         0        
+             275 |                                         0        
+             276 |                                         0        
+             277 |                                         0        
+             278 |                                         0        
+             279 |                                         0        
+             280 |                                         0        
+             281 |                                         0        
+             282 |                                         0        
+             283 |                                         0        
+             284 |                                         0        
+             285 |                                         0        
+             286 |                                         0        
+             287 |                                         0        
+             288 |                                         0        
+             289 |                                         0        
+             290 |                                         0        
+             291 |                                         0        
+             292 |                                         0        
+             293 |                                         0        
+             294 |                                         0        
+             295 |                                         0        
+             296 |                                         0        
+             297 |                                         0        
+             298 |                                         0        
+             299 |                                         0        
+             300 |                                         1        
+             301 |                                         0        
+             302 |                                         0        
+             303 |                                         0        
+             304 |                                         0        
+             305 |                                         0        
+             306 |                                         0        
+             307 |                                         0        
+             308 |                                         0        
+             309 |                                         0        
+             310 |                                         0        
+             311 |                                         0        
+             312 |                                         0        
+             313 |                                         0        
+             314 |                                         0        
+             315 |                                         0        
+             316 |                                         0        
+             317 |                                         0        
+             318 |                                         0        
+             319 |                                         0        
+             320 |                                         0        
+             321 |                                         0        
+             322 |                                         0        
+             323 |                                         0        
+             324 |                                         0        
+             325 |                                         0        
+             326 |                                         0        
+             327 |                                         0        
+             328 |                                         0        
+             329 |                                         0        
+             330 |                                         0        
+             331 |                                         0        
+             332 |                                         0        
+             333 |                                         0        
+             334 |                                         0        
+             335 |                                         0        
+             336 |                                         0        
+             337 |                                         0        
+             338 |                                         0        
+             339 |                                         0        
+             340 |                                         0        
+             341 |                                         0        
+             342 |                                         0        
+             343 |                                         0        
+             344 |                                         0        
+             345 |                                         0        
+             346 |                                         0        
+             347 |                                         0        
+             348 |                                         0        
+             349 |                                         0        
+             350 |                                         0        
+             351 |                                         0        
+             352 |                                         0        
+             353 |                                         0        
+             354 |                                         0        
+             355 |                                         0        
+             356 |                                         0        
+             357 |                                         0        
+             358 |                                         0        
+             359 |                                         0        
+             360 |                                         0        
+             361 |                                         0        
+             362 |                                         0        
+             363 |                                         0        
+             364 |                                         0        
+             365 |                                         0        
+             366 |                                         0        
+             367 |                                         0        
+             368 |                                         0        
+             369 |                                         0        
+             370 |                                         0        
+             371 |                                         0        
+             372 |                                         0        
+             373 |                                         0        
+             374 |                                         0        
+             375 |                                         0        
+             376 |                                         0        
+             377 |                                         0        
+             378 |                                         0        
+             379 |                                         0        
+             380 |                                         0        
+             381 |                                         0        
+             382 |                                         0        
+             383 |                                         0        
+             384 |                                         0        
+             385 |                                         0        
+             386 |                                         0        
+             387 |                                         0        
+             388 |                                         0        
+             389 |                                         0        
+             390 |                                         0        
+             391 |                                         0        
+             392 |                                         0        
+             393 |                                         0        
+             394 |                                         0        
+             395 |                                         0        
+             396 |                                         0        
+             397 |                                         0        
+             398 |                                         0        
+             399 |                                         0        
+             400 |                                         1        
+             401 |                                         0        
+             402 |                                         0        
+             403 |                                         0        
+             404 |                                         0        
+             405 |                                         0        
+             406 |                                         0        
+             407 |                                         0        
+             408 |                                         0        
+             409 |                                         0        
+             410 |                                         0        
+             411 |                                         0        
+             412 |                                         0        
+             413 |                                         0        
+             414 |                                         0        
+             415 |                                         0        
+             416 |                                         0        
+             417 |                                         0        
+             418 |                                         0        
+             419 |                                         0        
+             420 |                                         0        
+             421 |                                         0        
+             422 |                                         0        
+             423 |                                         0        
+             424 |                                         0        
+             425 |                                         0        
+             426 |                                         0        
+             427 |                                         0        
+             428 |                                         0        
+             429 |                                         0        
+             430 |                                         0        
+             431 |                                         0        
+             432 |                                         0        
+             433 |                                         0        
+             434 |                                         0        
+             435 |                                         0        
+             436 |                                         0        
+             437 |                                         0        
+             438 |                                         0        
+             439 |                                         0        
+             440 |                                         0        
+             441 |                                         0        
+             442 |                                         0        
+             443 |                                         0        
+             444 |                                         0        
+             445 |                                         0        
+             446 |                                         0        
+             447 |                                         0        
+             448 |                                         0        
+             449 |                                         0        
+             450 |                                         0        
+             451 |                                         0        
+             452 |                                         0        
+             453 |                                         0        
+             454 |                                         0        
+             455 |                                         0        
+             456 |                                         0        
+             457 |                                         0        
+             458 |                                         0        
+             459 |                                         0        
+             460 |                                         0        
+             461 |                                         0        
+             462 |                                         0        
+             463 |                                         0        
+             464 |                                         0        
+             465 |                                         0        
+             466 |                                         0        
+             467 |                                         0        
+             468 |                                         0        
+             469 |                                         0        
+             470 |                                         0        
+             471 |                                         0        
+             472 |                                         0        
+             473 |                                         0        
+             474 |                                         0        
+             475 |                                         0        
+             476 |                                         0        
+             477 |                                         0        
+             478 |                                         0        
+             479 |                                         0        
+             480 |                                         0        
+             481 |                                         0        
+             482 |                                         0        
+             483 |                                         0        
+             484 |                                         0        
+             485 |                                         0        
+             486 |                                         0        
+             487 |                                         0        
+             488 |                                         0        
+             489 |                                         0        
+             490 |                                         0        
+             491 |                                         0        
+             492 |                                         0        
+             493 |                                         0        
+             494 |                                         0        
+             495 |                                         0        
+             496 |                                         0        
+             497 |                                         0        
+             498 |                                         0        
+             499 |                                         0        
+             500 |                                         1        
+             501 |                                         0        
+             502 |                                         0        
+             503 |                                         0        
+             504 |                                         0        
+             505 |                                         0        
+             506 |                                         0        
+             507 |                                         0        
+             508 |                                         0        
+             509 |                                         0        
+             510 |                                         0        
+             511 |                                         0        
+             512 |                                         0        
+             513 |                                         0        
+             514 |                                         0        
+             515 |                                         0        
+             516 |                                         0        
+             517 |                                         0        
+             518 |                                         0        
+             519 |                                         0        
+             520 |                                         0        
+             521 |                                         0        
+             522 |                                         0        
+             523 |                                         0        
+             524 |                                         0        
+             525 |                                         0        
+             526 |                                         0        
+             527 |                                         0        
+             528 |                                         0        
+             529 |                                         0        
+             530 |                                         0        
+             531 |                                         0        
+             532 |                                         0        
+             533 |                                         0        
+             534 |                                         0        
+             535 |                                         0        
+             536 |                                         0        
+             537 |                                         0        
+             538 |                                         0        
+             539 |                                         0        
+             540 |                                         0        
+             541 |                                         0        
+             542 |                                         0        
+             543 |                                         0        
+             544 |                                         0        
+             545 |                                         0        
+             546 |                                         0        
+             547 |                                         0        
+             548 |                                         0        
+             549 |                                         0        
+             550 |                                         0        
+             551 |                                         0        
+             552 |                                         0        
+             553 |                                         0        
+             554 |                                         0        
+             555 |                                         0        
+             556 |                                         0        
+             557 |                                         0        
+             558 |                                         0        
+             559 |                                         0        
+             560 |                                         0        
+             561 |                                         0        
+             562 |                                         0        
+             563 |                                         0        
+             564 |                                         0        
+             565 |                                         0        
+             566 |                                         0        
+             567 |                                         0        
+             568 |                                         0        
+             569 |                                         0        
+             570 |                                         0        
+             571 |                                         0        
+             572 |                                         0        
+             573 |                                         0        
+             574 |                                         0        
+             575 |                                         0        
+             576 |                                         0        
+             577 |                                         0        
+             578 |                                         0        
+             579 |                                         0        
+             580 |                                         0        
+             581 |                                         0        
+             582 |                                         0        
+             583 |                                         0        
+             584 |                                         0        
+             585 |                                         0        
+             586 |                                         0        
+             587 |                                         0        
+             588 |                                         0        
+             589 |                                         0        
+             590 |                                         0        
+             591 |                                         0        
+             592 |                                         0        
+             593 |                                         0        
+             594 |                                         0        
+             595 |                                         0        
+             596 |                                         0        
+             597 |                                         0        
+             598 |                                         0        
+             599 |                                         0        
+             600 |                                         1        
+             601 |                                         0        
+             602 |                                         0        
+             603 |                                         0        
+             604 |                                         0        
+             605 |                                         0        
+             606 |                                         0        
+             607 |                                         0        
+             608 |                                         0        
+             609 |                                         0        
+             610 |                                         0        
+             611 |                                         0        
+             612 |                                         0        
+             613 |                                         0        
+             614 |                                         0        
+             615 |                                         0        
+             616 |                                         0        
+             617 |                                         0        
+             618 |                                         0        
+             619 |                                         0        
+             620 |                                         0        
+             621 |                                         0        
+             622 |                                         0        
+             623 |                                         0        
+             624 |                                         0        
+             625 |                                         0        
+             626 |                                         0        
+             627 |                                         0        
+             628 |                                         0        
+             629 |                                         0        
+             630 |                                         0        
+             631 |                                         0        
+             632 |                                         0        
+             633 |                                         0        
+             634 |                                         0        
+             635 |                                         0        
+             636 |                                         0        
+             637 |                                         0        
+             638 |                                         0        
+             639 |                                         0        
+             640 |                                         0        
+             641 |                                         0        
+             642 |                                         0        
+             643 |                                         0        
+             644 |                                         0        
+             645 |                                         0        
+             646 |                                         0        
+             647 |                                         0        
+             648 |                                         0        
+             649 |                                         0        
+             650 |                                         0        
+             651 |                                         0        
+             652 |                                         0        
+             653 |                                         0        
+             654 |                                         0        
+             655 |                                         0        
+             656 |                                         0        
+             657 |                                         0        
+             658 |                                         0        
+             659 |                                         0        
+             660 |                                         0        
+             661 |                                         0        
+             662 |                                         0        
+             663 |                                         0        
+             664 |                                         0        
+             665 |                                         0        
+             666 |                                         0        
+             667 |                                         0        
+             668 |                                         0        
+             669 |                                         0        
+             670 |                                         0        
+             671 |                                         0        
+             672 |                                         0        
+             673 |                                         0        
+             674 |                                         0        
+             675 |                                         0        
+             676 |                                         0        
+             677 |                                         0        
+             678 |                                         0        
+             679 |                                         0        
+             680 |                                         0        
+             681 |                                         0        
+             682 |                                         0        
+             683 |                                         0        
+             684 |                                         0        
+             685 |                                         0        
+             686 |                                         0        
+             687 |                                         0        
+             688 |                                         0        
+             689 |                                         0        
+             690 |                                         0        
+             691 |                                         0        
+             692 |                                         0        
+             693 |                                         0        
+             694 |                                         0        
+             695 |                                         0        
+             696 |                                         0        
+             697 |                                         0        
+             698 |                                         0        
+             699 |                                         0        
+             700 |                                         1        
+             701 |                                         0        
+             702 |                                         0        
+             703 |                                         0        
+             704 |                                         0        
+             705 |                                         0        
+             706 |                                         0        
+             707 |                                         0        
+             708 |                                         0        
+             709 |                                         0        
+             710 |                                         0        
+             711 |                                         0        
+             712 |                                         0        
+             713 |                                         0        
+             714 |                                         0        
+             715 |                                         0        
+             716 |                                         0        
+             717 |                                         0        
+             718 |                                         0        
+             719 |                                         0        
+             720 |                                         0        
+             721 |                                         0        
+             722 |                                         0        
+             723 |                                         0        
+             724 |                                         0        
+             725 |                                         0        
+             726 |                                         0        
+             727 |                                         0        
+             728 |                                         0        
+             729 |                                         0        
+             730 |                                         0        
+             731 |                                         0        
+             732 |                                         0        
+             733 |                                         0        
+             734 |                                         0        
+             735 |                                         0        
+             736 |                                         0        
+             737 |                                         0        
+             738 |                                         0        
+             739 |                                         0        
+             740 |                                         0        
+             741 |                                         0        
+             742 |                                         0        
+             743 |                                         0        
+             744 |                                         0        
+             745 |                                         0        
+             746 |                                         0        
+             747 |                                         0        
+             748 |                                         0        
+             749 |                                         0        
+             750 |                                         0        
+             751 |                                         0        
+             752 |                                         0        
+             753 |                                         0        
+             754 |                                         0        
+             755 |                                         0        
+             756 |                                         0        
+             757 |                                         0        
+             758 |                                         0        
+             759 |                                         0        
+             760 |                                         0        
+             761 |                                         0        
+             762 |                                         0        
+             763 |                                         0        
+             764 |                                         0        
+             765 |                                         0        
+             766 |                                         0        
+             767 |                                         0        
+             768 |                                         0        
+             769 |                                         0        
+             770 |                                         0        
+             771 |                                         0        
+             772 |                                         0        
+             773 |                                         0        
+             774 |                                         0        
+             775 |                                         0        
+             776 |                                         0        
+             777 |                                         0        
+             778 |                                         0        
+             779 |                                         0        
+             780 |                                         0        
+             781 |                                         0        
+             782 |                                         0        
+             783 |                                         0        
+             784 |                                         0        
+             785 |                                         0        
+             786 |                                         0        
+             787 |                                         0        
+             788 |                                         0        
+             789 |                                         0        
+             790 |                                         0        
+             791 |                                         0        
+             792 |                                         0        
+             793 |                                         0        
+             794 |                                         0        
+             795 |                                         0        
+             796 |                                         0        
+             797 |                                         0        
+             798 |                                         0        
+             799 |                                         0        
+             800 |                                         1        
+             801 |                                         0        
+             802 |                                         0        
+             803 |                                         0        
+             804 |                                         0        
+             805 |                                         0        
+             806 |                                         0        
+             807 |                                         0        
+             808 |                                         0        
+             809 |                                         0        
+             810 |                                         0        
+             811 |                                         0        
+             812 |                                         0        
+             813 |                                         0        
+             814 |                                         0        
+             815 |                                         0        
+             816 |                                         0        
+             817 |                                         0        
+             818 |                                         0        
+             819 |                                         0        
+             820 |                                         0        
+             821 |                                         0        
+             822 |                                         0        
+             823 |                                         0        
+             824 |                                         0        
+             825 |                                         0        
+             826 |                                         0        
+             827 |                                         0        
+             828 |                                         0        
+             829 |                                         0        
+             830 |                                         0        
+             831 |                                         0        
+             832 |                                         0        
+             833 |                                         0        
+             834 |                                         0        
+             835 |                                         0        
+             836 |                                         0        
+             837 |                                         0        
+             838 |                                         0        
+             839 |                                         0        
+             840 |                                         0        
+             841 |                                         0        
+             842 |                                         0        
+             843 |                                         0        
+             844 |                                         0        
+             845 |                                         0        
+             846 |                                         0        
+             847 |                                         0        
+             848 |                                         0        
+             849 |                                         0        
+             850 |                                         0        
+             851 |                                         0        
+             852 |                                         0        
+             853 |                                         0        
+             854 |                                         0        
+             855 |                                         0        
+             856 |                                         0        
+             857 |                                         0        
+             858 |                                         0        
+             859 |                                         0        
+             860 |                                         0        
+             861 |                                         0        
+             862 |                                         0        
+             863 |                                         0        
+             864 |                                         0        
+             865 |                                         0        
+             866 |                                         0        
+             867 |                                         0        
+             868 |                                         0        
+             869 |                                         0        
+             870 |                                         0        
+             871 |                                         0        
+             872 |                                         0        
+             873 |                                         0        
+             874 |                                         0        
+             875 |                                         0        
+             876 |                                         0        
+             877 |                                         0        
+             878 |                                         0        
+             879 |                                         0        
+             880 |                                         0        
+             881 |                                         0        
+             882 |                                         0        
+             883 |                                         0        
+             884 |                                         0        
+             885 |                                         0        
+             886 |                                         0        
+             887 |                                         0        
+             888 |                                         0        
+             889 |                                         0        
+             890 |                                         0        
+             891 |                                         0        
+             892 |                                         0        
+             893 |                                         0        
+             894 |                                         0        
+             895 |                                         0        
+             896 |                                         0        
+             897 |                                         0        
+             898 |                                         0        
+             899 |                                         0        
+             900 |                                         1        
+             901 |                                         0        
+             902 |                                         0        
+             903 |                                         0        
+             904 |                                         0        
+             905 |                                         0        
+             906 |                                         0        
+             907 |                                         0        
+             908 |                                         0        
+             909 |                                         0        
+             910 |                                         0        
+             911 |                                         0        
+             912 |                                         0        
+             913 |                                         0        
+             914 |                                         0        
+             915 |                                         0        
+             916 |                                         0        
+             917 |                                         0        
+             918 |                                         0        
+             919 |                                         0        
+             920 |                                         0        
+             921 |                                         0        
+             922 |                                         0        
+             923 |                                         0        
+             924 |                                         0        
+             925 |                                         0        
+             926 |                                         0        
+             927 |                                         0        
+             928 |                                         0        
+             929 |                                         0        
+             930 |                                         0        
+             931 |                                         0        
+             932 |                                         0        
+             933 |                                         0        
+             934 |                                         0        
+             935 |                                         0        
+             936 |                                         0        
+             937 |                                         0        
+             938 |                                         0        
+             939 |                                         0        
+             940 |                                         0        
+             941 |                                         0        
+             942 |                                         0        
+             943 |                                         0        
+             944 |                                         0        
+             945 |                                         0        
+             946 |                                         0        
+             947 |                                         0        
+             948 |                                         0        
+             949 |                                         0        
+             950 |                                         0        
+             951 |                                         0        
+             952 |                                         0        
+             953 |                                         0        
+             954 |                                         0        
+             955 |                                         0        
+             956 |                                         0        
+             957 |                                         0        
+             958 |                                         0        
+             959 |                                         0        
+             960 |                                         0        
+             961 |                                         0        
+             962 |                                         0        
+             963 |                                         0        
+             964 |                                         0        
+             965 |                                         0        
+             966 |                                         0        
+             967 |                                         0        
+             968 |                                         0        
+             969 |                                         0        
+             970 |                                         0        
+             971 |                                         0        
+             972 |                                         0        
+             973 |                                         0        
+             974 |                                         0        
+             975 |                                         0        
+             976 |                                         0        
+             977 |                                         0        
+             978 |                                         0        
+             979 |                                         0        
+             980 |                                         0        
+             981 |                                         0        
+             982 |                                         0        
+             983 |                                         0        
+             984 |                                         0        
+             985 |                                         0        
+             986 |                                         0        
+             987 |                                         0        
+             988 |                                         0        
+             989 |                                         0        
+             990 |                                         0        
+             991 |                                         0        
+             992 |                                         0        
+             993 |                                         0        
+             994 |                                         0        
+             995 |                                         0        
+             996 |                                         0        
+             997 |                                         0        
+             998 |                                         0        
+             999 |                                         0        
+            1000 |                                         1        
+            1010 |                                         0        
+            1020 |                                         0        
+            1030 |                                         0        
+            1040 |                                         0        
+            1050 |                                         0        
+            1060 |                                         0        
+            1070 |                                         0        
+            1080 |                                         0        
+            1090 |                                         0        
+            1100 |                                         1        
+            1110 |                                         0        
+            1120 |                                         0        
+            1130 |                                         0        
+            1140 |                                         0        
+            1150 |                                         0        
+            1160 |                                         0        
+            1170 |                                         0        
+            1180 |                                         0        
+            1190 |                                         0        
+            1200 |                                         1        
+            1210 |                                         0        
+            1220 |                                         0        
+            1230 |                                         0        
+            1240 |                                         0        
+            1250 |                                         0        
+            1260 |                                         0        
+            1270 |                                         0        
+            1280 |                                         0        
+            1290 |                                         0        
+            1300 |                                         1        
+            1310 |                                         0        
+            1320 |                                         0        
+            1330 |                                         0        
+            1340 |                                         0        
+            1350 |                                         0        
+            1360 |                                         0        
+            1370 |                                         0        
+            1380 |                                         0        
+            1390 |                                         0        
+            1400 |                                         1        
+            1410 |                                         0        
+            1420 |                                         0        
+            1430 |                                         0        
+            1440 |                                         0        
+            1450 |                                         0        
+            1460 |                                         0        
+            1470 |                                         0        
+            1480 |                                         0        
+            1490 |                                         0        
+            1500 |                                         1        
+            1510 |                                         0        
+            1520 |                                         0        
+            1530 |                                         0        
+            1540 |                                         0        
+            1550 |                                         0        
+            1560 |                                         0        
+            1570 |                                         0        
+            1580 |                                         0        
+            1590 |                                         0        
+            1600 |                                         1        
+            1610 |                                         0        
+            1620 |                                         0        
+            1630 |                                         0        
+            1640 |                                         0        
+            1650 |                                         0        
+            1660 |                                         0        
+            1670 |                                         0        
+            1680 |                                         0        
+            1690 |                                         0        
+            1700 |                                         1        
+            1710 |                                         0        
+            1720 |                                         0        
+            1730 |                                         0        
+            1740 |                                         0        
+            1750 |                                         0        
+            1760 |                                         0        
+            1770 |                                         0        
+            1780 |                                         0        
+            1790 |                                         0        
+            1800 |                                         1        
+            1810 |                                         0        
+            1820 |                                         0        
+            1830 |                                         0        
+            1840 |                                         0        
+            1850 |                                         0        
+            1860 |                                         0        
+            1870 |                                         0        
+            1880 |                                         0        
+            1890 |                                         0        
+            1900 |                                         1        
+            1910 |                                         0        
+            1920 |                                         0        
+            1930 |                                         0        
+            1940 |                                         0        
+            1950 |                                         0        
+            1960 |                                         0        
+            1970 |                                         0        
+            1980 |                                         0        
+            1990 |                                         0        
+            2000 |                                         1        
+            2010 |                                         0        
+            2020 |                                         0        
+            2030 |                                         0        
+            2040 |                                         0        
+            2050 |                                         0        
+            2060 |                                         0        
+            2070 |                                         0        
+            2080 |                                         0        
+            2090 |                                         0        
+            2100 |                                         1        
+            2110 |                                         0        
+            2120 |                                         0        
+            2130 |                                         0        
+            2140 |                                         0        
+            2150 |                                         0        
+            2160 |                                         0        
+            2170 |                                         0        
+            2180 |                                         0        
+            2190 |                                         0        
+            2200 |                                         1        
+            2210 |                                         0        
+            2220 |                                         0        
+            2230 |                                         0        
+            2240 |                                         0        
+            2250 |                                         0        
+            2260 |                                         0        
+            2270 |                                         0        
+            2280 |                                         0        
+            2290 |                                         0        
+            2300 |                                         1        
+            2310 |                                         0        
+            2320 |                                         0        
+            2330 |                                         0        
+            2340 |                                         0        
+            2350 |                                         0        
+            2360 |                                         0        
+            2370 |                                         0        
+            2380 |                                         0        
+            2390 |                                         0        
+            2400 |                                         1        
+            2410 |                                         0        
+            2420 |                                         0        
+            2430 |                                         0        
+            2440 |                                         0        
+            2450 |                                         0        
+            2460 |                                         0        
+            2470 |                                         0        
+            2480 |                                         0        
+            2490 |                                         0        
+            2500 |                                         1        
+            2510 |                                         0        
+            2520 |                                         0        
+            2530 |                                         0        
+            2540 |                                         0        
+            2550 |                                         0        
+            2560 |                                         0        
+            2570 |                                         0        
+            2580 |                                         0        
+            2590 |                                         0        
+            2600 |                                         1        
+            2610 |                                         0        
+            2620 |                                         0        
+            2630 |                                         0        
+            2640 |                                         0        
+            2650 |                                         0        
+            2660 |                                         0        
+            2670 |                                         0        
+            2680 |                                         0        
+            2690 |                                         0        
+            2700 |                                         1        
+            2710 |                                         0        
+            2720 |                                         0        
+            2730 |                                         0        
+            2740 |                                         0        
+            2750 |                                         0        
+            2760 |                                         0        
+            2770 |                                         0        
+            2780 |                                         0        
+            2790 |                                         0        
+            2800 |                                         1        
+            2810 |                                         0        
+            2820 |                                         0        
+            2830 |                                         0        
+            2840 |                                         0        
+            2850 |                                         0        
+            2860 |                                         0        
+            2870 |                                         0        
+            2880 |                                         0        
+            2890 |                                         0        
+            2900 |                                         1        
+            2910 |                                         0        
+            2920 |                                         0        
+            2930 |                                         0        
+            2940 |                                         0        
+            2950 |                                         0        
+            2960 |                                         0        
+            2970 |                                         0        
+            2980 |                                         0        
+            2990 |                                         0        
+            3000 |                                         1        
+            3010 |                                         0        
+            3020 |                                         0        
+            3030 |                                         0        
+            3040 |                                         0        
+            3050 |                                         0        
+            3060 |                                         0        
+            3070 |                                         0        
+            3080 |                                         0        
+            3090 |                                         0        
+            3100 |                                         1        
+            3110 |                                         0        
+            3120 |                                         0        
+            3130 |                                         0        
+            3140 |                                         0        
+            3150 |                                         0        
+            3160 |                                         0        
+            3170 |                                         0        
+            3180 |                                         0        
+            3190 |                                         0        
+            3200 |                                         1        
+            3210 |                                         0        
+            3220 |                                         0        
+            3230 |                                         0        
+            3240 |                                         0        
+            3250 |                                         0        
+            3260 |                                         0        
+            3270 |                                         0        
+            3280 |                                         0        
+            3290 |                                         0        
+            3300 |                                         1        
+            3310 |                                         0        
+            3320 |                                         0        
+            3330 |                                         0        
+            3340 |                                         0        
+            3350 |                                         0        
+            3360 |                                         0        
+            3370 |                                         0        
+            3380 |                                         0        
+            3390 |                                         0        
+            3400 |                                         1        
+            3410 |                                         0        
+            3420 |                                         0        
+            3430 |                                         0        
+            3440 |                                         0        
+            3450 |                                         0        
+            3460 |                                         0        
+            3470 |                                         0        
+            3480 |                                         0        
+            3490 |                                         0        
+            3500 |                                         1        
+            3510 |                                         0        
+            3520 |                                         0        
+            3530 |                                         0        
+            3540 |                                         0        
+            3550 |                                         0        
+            3560 |                                         0        
+            3570 |                                         0        
+            3580 |                                         0        
+            3590 |                                         0        
+            3600 |                                         1        
+            3610 |                                         0        
+            3620 |                                         0        
+            3630 |                                         0        
+            3640 |                                         0        
+            3650 |                                         0        
+            3660 |                                         0        
+            3670 |                                         0        
+            3680 |                                         0        
+            3690 |                                         0        
+            3700 |                                         1        
+            3710 |                                         0        
+            3720 |                                         0        
+            3730 |                                         0        
+            3740 |                                         0        
+            3750 |                                         0        
+            3760 |                                         0        
+            3770 |                                         0        
+            3780 |                                         0        
+            3790 |                                         0        
+            3800 |                                         1        
+            3810 |                                         0        
+            3820 |                                         0        
+            3830 |                                         0        
+            3840 |                                         0        
+            3850 |                                         0        
+            3860 |                                         0        
+            3870 |                                         0        
+            3880 |                                         0        
+            3890 |                                         0        
+            3900 |                                         1        
+            3910 |                                         0        
+            3920 |                                         0        
+            3930 |                                         0        
+            3940 |                                         0        
+            3950 |                                         0        
+            3960 |                                         0        
+            3970 |                                         0        
+            3980 |                                         0        
+            3990 |                                         0        
+            4000 |                                         1        
+            4010 |                                         0        
+            4020 |                                         0        
+            4030 |                                         0        
+            4040 |                                         0        
+            4050 |                                         0        
+            4060 |                                         0        
+            4070 |                                         0        
+            4080 |                                         0        
+            4090 |                                         0        
+            4100 |                                         1        
+            4110 |                                         0        
+            4120 |                                         0        
+            4130 |                                         0        
+            4140 |                                         0        
+            4150 |                                         0        
+            4160 |                                         0        
+            4170 |                                         0        
+            4180 |                                         0        
+            4190 |                                         0        
+            4200 |                                         1        
+            4210 |                                         0        
+            4220 |                                         0        
+            4230 |                                         0        
+            4240 |                                         0        
+            4250 |                                         0        
+            4260 |                                         0        
+            4270 |                                         0        
+            4280 |                                         0        
+            4290 |                                         0        
+            4300 |                                         1        
+            4310 |                                         0        
+            4320 |                                         0        
+            4330 |                                         0        
+            4340 |                                         0        
+            4350 |                                         0        
+            4360 |                                         0        
+            4370 |                                         0        
+            4380 |                                         0        
+            4390 |                                         0        
+            4400 |                                         1        
+            4410 |                                         0        
+            4420 |                                         0        
+            4430 |                                         0        
+            4440 |                                         0        
+            4450 |                                         0        
+            4460 |                                         0        
+            4470 |                                         0        
+            4480 |                                         0        
+            4490 |                                         0        
+            4500 |                                         1        
+            4510 |                                         0        
+            4520 |                                         0        
+            4530 |                                         0        
+            4540 |                                         0        
+            4550 |                                         0        
+            4560 |                                         0        
+            4570 |                                         0        
+            4580 |                                         0        
+            4590 |                                         0        
+            4600 |                                         1        
+            4610 |                                         0        
+            4620 |                                         0        
+            4630 |                                         0        
+            4640 |                                         0        
+            4650 |                                         0        
+            4660 |                                         0        
+            4670 |                                         0        
+            4680 |                                         0        
+            4690 |                                         0        
+            4700 |                                         1        
+            4710 |                                         0        
+            4720 |                                         0        
+            4730 |                                         0        
+            4740 |                                         0        
+            4750 |                                         0        
+            4760 |                                         0        
+            4770 |                                         0        
+            4780 |                                         0        
+            4790 |                                         0        
+            4800 |                                         1        
+            4810 |                                         0        
+            4820 |                                         0        
+            4830 |                                         0        
+            4840 |                                         0        
+            4850 |                                         0        
+            4860 |                                         0        
+            4870 |                                         0        
+            4880 |                                         0        
+            4890 |                                         0        
+            4900 |                                         1        
+            4910 |                                         0        
+            4920 |                                         0        
+            4930 |                                         0        
+            4940 |                                         0        
+            4950 |                                         0        
+            4960 |                                         0        
+            4970 |                                         0        
+            4980 |                                         0        
+            4990 |                                         0        
+            5000 |                                         1        
+            5010 |                                         0        
+            5020 |                                         0        
+            5030 |                                         0        
+            5040 |                                         0        
+            5050 |                                         0        
+            5060 |                                         0        
+            5070 |                                         0        
+            5080 |                                         0        
+            5090 |                                         0        
+            5100 |                                         1        
+            5110 |                                         0        
+            5120 |                                         0        
+            5130 |                                         0        
+            5140 |                                         0        
+            5150 |                                         0        
+            5160 |                                         0        
+            5170 |                                         0        
+            5180 |                                         0        
+            5190 |                                         0        
+            5200 |                                         1        
+            5210 |                                         0        
+            5220 |                                         0        
+            5230 |                                         0        
+            5240 |                                         0        
+            5250 |                                         0        
+            5260 |                                         0        
+            5270 |                                         0        
+            5280 |                                         0        
+            5290 |                                         0        
+            5300 |                                         1        
+            5310 |                                         0        
+            5320 |                                         0        
+            5330 |                                         0        
+            5340 |                                         0        
+            5350 |                                         0        
+            5360 |                                         0        
+            5370 |                                         0        
+            5380 |                                         0        
+            5390 |                                         0        
+            5400 |                                         1        
+            5410 |                                         0        
+            5420 |                                         0        
+            5430 |                                         0        
+            5440 |                                         0        
+            5450 |                                         0        
+            5460 |                                         0        
+            5470 |                                         0        
+            5480 |                                         0        
+            5490 |                                         0        
+            5500 |                                         1        
+            5510 |                                         0        
+            5520 |                                         0        
+            5530 |                                         0        
+            5540 |                                         0        
+            5550 |                                         0        
+            5560 |                                         0        
+            5570 |                                         0        
+            5580 |                                         0        
+            5590 |                                         0        
+            5600 |                                         1        
+            5610 |                                         0        
+            5620 |                                         0        
+            5630 |                                         0        
+            5640 |                                         0        
+            5650 |                                         0        
+            5660 |                                         0        
+            5670 |                                         0        
+            5680 |                                         0        
+            5690 |                                         0        
+            5700 |                                         1        
+            5710 |                                         0        
+            5720 |                                         0        
+            5730 |                                         0        
+            5740 |                                         0        
+            5750 |                                         0        
+            5760 |                                         0        
+            5770 |                                         0        
+            5780 |                                         0        
+            5790 |                                         0        
+            5800 |                                         1        
+            5810 |                                         0        
+            5820 |                                         0        
+            5830 |                                         0        
+            5840 |                                         0        
+            5850 |                                         0        
+            5860 |                                         0        
+            5870 |                                         0        
+            5880 |                                         0        
+            5890 |                                         0        
+            5900 |                                         1        
+            5910 |                                         0        
+            5920 |                                         0        
+            5930 |                                         0        
+            5940 |                                         0        
+            5950 |                                         0        
+            5960 |                                         0        
+            5970 |                                         0        
+            5980 |                                         0        
+            5990 |                                         0        
+            6000 |                                         1        
+            6010 |                                         0        
+            6020 |                                         0        
+            6030 |                                         0        
+            6040 |                                         0        
+            6050 |                                         0        
+            6060 |                                         0        
+            6070 |                                         0        
+            6080 |                                         0        
+            6090 |                                         0        
+            6100 |                                         1        
+            6110 |                                         0        
+            6120 |                                         0        
+            6130 |                                         0        
+            6140 |                                         0        
+            6150 |                                         0        
+            6160 |                                         0        
+            6170 |                                         0        
+            6180 |                                         0        
+            6190 |                                         0        
+            6200 |                                         1        
+            6210 |                                         0        
+            6220 |                                         0        
+            6230 |                                         0        
+            6240 |                                         0        
+            6250 |                                         0        
+            6260 |                                         0        
+            6270 |                                         0        
+            6280 |                                         0        
+            6290 |                                         0        
+            6300 |                                         1        
+            6310 |                                         0        
+            6320 |                                         0        
+            6330 |                                         0        
+            6340 |                                         0        
+            6350 |                                         0        
+            6360 |                                         0        
+            6370 |                                         0        
+            6380 |                                         0        
+            6390 |                                         0        
+            6400 |                                         1        
+            6410 |                                         0        
+            6420 |                                         0        
+            6430 |                                         0        
+            6440 |                                         0        
+            6450 |                                         0        
+            6460 |                                         0        
+            6470 |                                         0        
+            6480 |                                         0        
+            6490 |                                         0        
+            6500 |                                         1        
+            6510 |                                         0        
+            6520 |                                         0        
+            6530 |                                         0        
+            6540 |                                         0        
+            6550 |                                         0        
+            6560 |                                         0        
+            6570 |                                         0        
+            6580 |                                         0        
+            6590 |                                         0        
+            6600 |                                         1        
+            6610 |                                         0        
+            6620 |                                         0        
+            6630 |                                         0        
+            6640 |                                         0        
+            6650 |                                         0        
+            6660 |                                         0        
+            6670 |                                         0        
+            6680 |                                         0        
+            6690 |                                         0        
+            6700 |                                         1        
+            6710 |                                         0        
+            6720 |                                         0        
+            6730 |                                         0        
+            6740 |                                         0        
+            6750 |                                         0        
+            6760 |                                         0        
+            6770 |                                         0        
+            6780 |                                         0        
+            6790 |                                         0        
+            6800 |                                         1        
+            6810 |                                         0        
+            6820 |                                         0        
+            6830 |                                         0        
+            6840 |                                         0        
+            6850 |                                         0        
+            6860 |                                         0        
+            6870 |                                         0        
+            6880 |                                         0        
+            6890 |                                         0        
+            6900 |                                         1        
+            6910 |                                         0        
+            6920 |                                         0        
+            6930 |                                         0        
+            6940 |                                         0        
+            6950 |                                         0        
+            6960 |                                         0        
+            6970 |                                         0        
+            6980 |                                         0        
+            6990 |                                         0        
+            7000 |                                         1        
+            7010 |                                         0        
+            7020 |                                         0        
+            7030 |                                         0        
+            7040 |                                         0        
+            7050 |                                         0        
+            7060 |                                         0        
+            7070 |                                         0        
+            7080 |                                         0        
+            7090 |                                         0        
+            7100 |                                         1        
+            7110 |                                         0        
+            7120 |                                         0        
+            7130 |                                         0        
+            7140 |                                         0        
+            7150 |                                         0        
+            7160 |                                         0        
+            7170 |                                         0        
+            7180 |                                         0        
+            7190 |                                         0        
+            7200 |                                         1        
+            7210 |                                         0        
+            7220 |                                         0        
+            7230 |                                         0        
+            7240 |                                         0        
+            7250 |                                         0        
+            7260 |                                         0        
+            7270 |                                         0        
+            7280 |                                         0        
+            7290 |                                         0        
+            7300 |                                         1        
+            7310 |                                         0        
+            7320 |                                         0        
+            7330 |                                         0        
+            7340 |                                         0        
+            7350 |                                         0        
+            7360 |                                         0        
+            7370 |                                         0        
+            7380 |                                         0        
+            7390 |                                         0        
+            7400 |                                         1        
+            7410 |                                         0        
+            7420 |                                         0        
+            7430 |                                         0        
+            7440 |                                         0        
+            7450 |                                         0        
+            7460 |                                         0        
+            7470 |                                         0        
+            7480 |                                         0        
+            7490 |                                         0        
+            7500 |                                         1        
+            7510 |                                         0        
+            7520 |                                         0        
+            7530 |                                         0        
+            7540 |                                         0        
+            7550 |                                         0        
+            7560 |                                         0        
+            7570 |                                         0        
+            7580 |                                         0        
+            7590 |                                         0        
+            7600 |                                         1        
+            7610 |                                         0        
+            7620 |                                         0        
+            7630 |                                         0        
+            7640 |                                         0        
+            7650 |                                         0        
+            7660 |                                         0        
+            7670 |                                         0        
+            7680 |                                         0        
+            7690 |                                         0        
+            7700 |                                         1        
+            7710 |                                         0        
+            7720 |                                         0        
+            7730 |                                         0        
+            7740 |                                         0        
+            7750 |                                         0        
+            7760 |                                         0        
+            7770 |                                         0        
+            7780 |                                         0        
+            7790 |                                         0        
+            7800 |                                         1        
+            7810 |                                         0        
+            7820 |                                         0        
+            7830 |                                         0        
+            7840 |                                         0        
+            7850 |                                         0        
+            7860 |                                         0        
+            7870 |                                         0        
+            7880 |                                         0        
+            7890 |                                         0        
+            7900 |                                         1        
+            7910 |                                         0        
+            7920 |                                         0        
+            7930 |                                         0        
+            7940 |                                         0        
+            7950 |                                         0        
+            7960 |                                         0        
+            7970 |                                         0        
+            7980 |                                         0        
+            7990 |                                         0        
+            8000 |                                         1        
+            8010 |                                         0        
+            8020 |                                         0        
+            8030 |                                         0        
+            8040 |                                         0        
+            8050 |                                         0        
+            8060 |                                         0        
+            8070 |                                         0        
+            8080 |                                         0        
+            8090 |                                         0        
+            8100 |                                         1        
+            8110 |                                         0        
+            8120 |                                         0        
+            8130 |                                         0        
+            8140 |                                         0        
+            8150 |                                         0        
+            8160 |                                         0        
+            8170 |                                         0        
+            8180 |                                         0        
+            8190 |                                         0        
+            8200 |                                         1        
+            8210 |                                         0        
+            8220 |                                         0        
+            8230 |                                         0        
+            8240 |                                         0        
+            8250 |                                         0        
+            8260 |                                         0        
+            8270 |                                         0        
+            8280 |                                         0        
+            8290 |                                         0        
+            8300 |                                         1        
+            8310 |                                         0        
+            8320 |                                         0        
+            8330 |                                         0        
+            8340 |                                         0        
+            8350 |                                         0        
+            8360 |                                         0        
+            8370 |                                         0        
+            8380 |                                         0        
+            8390 |                                         0        
+            8400 |                                         1        
+            8410 |                                         0        
+            8420 |                                         0        
+            8430 |                                         0        
+            8440 |                                         0        
+            8450 |                                         0        
+            8460 |                                         0        
+            8470 |                                         0        
+            8480 |                                         0        
+            8490 |                                         0        
+            8500 |                                         1        
+            8510 |                                         0        
+            8520 |                                         0        
+            8530 |                                         0        
+            8540 |                                         0        
+            8550 |                                         0        
+            8560 |                                         0        
+            8570 |                                         0        
+            8580 |                                         0        
+            8590 |                                         0        
+            8600 |                                         1        
+            8610 |                                         0        
+            8620 |                                         0        
+            8630 |                                         0        
+            8640 |                                         0        
+            8650 |                                         0        
+            8660 |                                         0        
+            8670 |                                         0        
+            8680 |                                         0        
+            8690 |                                         0        
+            8700 |                                         1        
+            8710 |                                         0        
+            8720 |                                         0        
+            8730 |                                         0        
+            8740 |                                         0        
+            8750 |                                         0        
+            8760 |                                         0        
+            8770 |                                         0        
+            8780 |                                         0        
+            8790 |                                         0        
+            8800 |                                         1        
+            8810 |                                         0        
+            8820 |                                         0        
+            8830 |                                         0        
+            8840 |                                         0        
+            8850 |                                         0        
+            8860 |                                         0        
+            8870 |                                         0        
+            8880 |                                         0        
+            8890 |                                         0        
+            8900 |                                         1        
+            8910 |                                         0        
+            8920 |                                         0        
+            8930 |                                         0        
+            8940 |                                         0        
+            8950 |                                         0        
+            8960 |                                         0        
+            8970 |                                         0        
+            8980 |                                         0        
+            8990 |                                         0        
+            9000 |                                         1        
+            9010 |                                         0        
+            9020 |                                         0        
+            9030 |                                         0        
+            9040 |                                         0        
+            9050 |                                         0        
+            9060 |                                         0        
+            9070 |                                         0        
+            9080 |                                         0        
+            9090 |                                         0        
+            9100 |                                         1        
+            9110 |                                         0        
+            9120 |                                         0        
+            9130 |                                         0        
+            9140 |                                         0        
+            9150 |                                         0        
+            9160 |                                         0        
+            9170 |                                         0        
+            9180 |                                         0        
+            9190 |                                         0        
+            9200 |                                         1        
+            9210 |                                         0        
+            9220 |                                         0        
+            9230 |                                         0        
+            9240 |                                         0        
+            9250 |                                         0        
+            9260 |                                         0        
+            9270 |                                         0        
+            9280 |                                         0        
+            9290 |                                         0        
+            9300 |                                         1        
+            9310 |                                         0        
+            9320 |                                         0        
+            9330 |                                         0        
+            9340 |                                         0        
+            9350 |                                         0        
+            9360 |                                         0        
+            9370 |                                         0        
+            9380 |                                         0        
+            9390 |                                         0        
+            9400 |                                         1        
+            9410 |                                         0        
+            9420 |                                         0        
+            9430 |                                         0        
+            9440 |                                         0        
+            9450 |                                         0        
+            9460 |                                         0        
+            9470 |                                         0        
+            9480 |                                         0        
+            9490 |                                         0        
+            9500 |                                         1        
+            9510 |                                         0        
+            9520 |                                         0        
+            9530 |                                         0        
+            9540 |                                         0        
+            9550 |                                         0        
+            9560 |                                         0        
+            9570 |                                         0        
+            9580 |                                         0        
+            9590 |                                         0        
+            9600 |                                         1        
+            9610 |                                         0        
+            9620 |                                         0        
+            9630 |                                         0        
+            9640 |                                         0        
+            9650 |                                         0        
+            9660 |                                         0        
+            9670 |                                         0        
+            9680 |                                         0        
+            9690 |                                         0        
+            9700 |                                         1        
+            9710 |                                         0        
+            9720 |                                         0        
+            9730 |                                         0        
+            9740 |                                         0        
+            9750 |                                         0        
+            9760 |                                         0        
+            9770 |                                         0        
+            9780 |                                         0        
+            9790 |                                         0        
+            9800 |                                         1        
+            9810 |                                         0        
+            9820 |                                         0        
+            9830 |                                         0        
+            9840 |                                         0        
+            9850 |                                         0        
+            9860 |                                         0        
+            9870 |                                         0        
+            9880 |                                         0        
+            9890 |                                         0        
+            9900 |                                         1        
+            9910 |                                         0        
+            9920 |                                         0        
+            9930 |                                         0        
+            9940 |                                         0        
+            9950 |                                         0        
+            9960 |                                         0        
+            9970 |                                         0        
+            9980 |                                         0        
+            9990 |                                         0        
+           10000 |                                         1        
+           10100 |                                         1        
+           10200 |                                         0        
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.trunc.d	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,49 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
+#pragma D option quiet
+
+int i;
+
+tick-10ms
+/i < 100/
+{
+	@[i] = llquantize(i, 10, 1, 2, 10, 150);
+	@[i] = llquantize(i + 1, 10, 1, 2, 10, 150);
+	@[i] = llquantize(i + 2, 10, 1, 2, 10, 150);
+	@[i] = llquantize(i + 3, 10, 1, 2, 10, 150);
+	i++;
+}
+
+tick-10ms
+/i == 100/
+{
+	exit(0);
+}
+
+END
+{
+	trunc(@, 5);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/dtrace/test/tst/common/llquantize/tst.trunc.d.out	Tue Feb 08 01:46:16 2011 -0800
@@ -0,0 +1,34 @@
+
+       95
+           value  ------------- Distribution ------------- count    
+              80 |                                         0        
+              90 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 600      
+             100 |                                         0        
+
+       96
+           value  ------------- Distribution ------------- count    
+              80 |                                         0        
+              90 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 600      
+             100 |                                         0        
+
+       97
+           value  ------------- Distribution ------------- count    
+              80 |                                         0        
+              90 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@           450      
+             100 |@@@@@@@@@@                               150      
+             200 |                                         0        
+
+       98
+           value  ------------- Distribution ------------- count    
+              80 |                                         0        
+              90 |@@@@@@@@@@@@@@@@@@@@                     300      
+             100 |@@@@@@@@@@@@@@@@@@@@                     300      
+             200 |                                         0        
+
+       99
+           value  ------------- Distribution ------------- count    
+              80 |                                         0        
+              90 |@@@@@@@@@@                               150      
+             100 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@           450      
+             200 |                                         0        
+
--- a/usr/src/lib/libdtrace/common/dt_aggregate.c	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/lib/libdtrace/common/dt_aggregate.c	Tue Feb 08 01:46:16 2011 -0800
@@ -24,7 +24,9 @@
  * Use is subject to license terms.
  */
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
 
 #include <stdlib.h>
 #include <strings.h>
@@ -204,6 +206,83 @@
 	return (0);
 }
 
+static void
+dt_aggregate_llquantize(int64_t *existing, int64_t *new, size_t size)
+{
+	int i;
+
+	for (i = 1; i < size / sizeof (int64_t); i++)
+		existing[i] = existing[i] + new[i];
+}
+
+static long double
+dt_aggregate_llquantizedsum(int64_t *llquanta)
+{
+	int64_t arg = *llquanta++;
+	uint16_t factor = DTRACE_LLQUANTIZE_FACTOR(arg);
+	uint16_t low = DTRACE_LLQUANTIZE_LOW(arg);
+	uint16_t high = DTRACE_LLQUANTIZE_HIGH(arg);
+	uint16_t nsteps = DTRACE_LLQUANTIZE_NSTEP(arg);
+	int bin = 0, order;
+	int64_t value = 1, next, step;
+	long double total;
+
+	assert(nsteps >= factor);
+	assert(nsteps % factor == 0);
+
+	for (order = 0; order < low; order++)
+		value *= factor;
+
+	total = (long double)llquanta[bin++] * (long double)(value - 1);
+
+	next = value * factor;
+	step = next > nsteps ? next / nsteps : 1;
+
+	while (order <= high) {
+		assert(value < next);
+		total += (long double)llquanta[bin++] * (long double)(value);
+
+		if ((value += step) != next)
+			continue;
+
+		next = value * factor;
+		step = next > nsteps ? next / nsteps : 1;
+		order++;
+	}
+
+	return (total + (long double)llquanta[bin] * (long double)value);
+}
+
+static int
+dt_aggregate_llquantizedcmp(int64_t *lhs, int64_t *rhs)
+{
+	long double lsum = dt_aggregate_llquantizedsum(lhs);
+	long double rsum = dt_aggregate_llquantizedsum(rhs);
+	int64_t lzero, rzero;
+
+	if (lsum < rsum)
+		return (DT_LESSTHAN);
+
+	if (lsum > rsum)
+		return (DT_GREATERTHAN);
+
+	/*
+	 * If they're both equal, then we will compare based on the weights at
+	 * zero.  If the weights at zero are equal, then this will be judged a
+	 * tie and will be resolved based on the key comparison.
+	 */
+	lzero = lhs[1];
+	rzero = rhs[1];
+
+	if (lzero < rzero)
+		return (DT_LESSTHAN);
+
+	if (lzero > rzero)
+		return (DT_GREATERTHAN);
+
+	return (0);
+}
+
 static int
 dt_aggregate_quantizedcmp(int64_t *lhs, int64_t *rhs)
 {
@@ -582,6 +661,10 @@
 			h->dtahe_aggregate = dt_aggregate_lquantize;
 			break;
 
+		case DTRACEAGG_LLQUANTIZE:
+			h->dtahe_aggregate = dt_aggregate_llquantize;
+			break;
+
 		case DTRACEAGG_COUNT:
 		case DTRACEAGG_SUM:
 		case DTRACEAGG_AVG:
@@ -849,6 +932,10 @@
 		rval = dt_aggregate_lquantizedcmp(laddr, raddr);
 		break;
 
+	case DTRACEAGG_LLQUANTIZE:
+		rval = dt_aggregate_llquantizedcmp(laddr, raddr);
+		break;
+
 	case DTRACEAGG_COUNT:
 	case DTRACEAGG_SUM:
 	case DTRACEAGG_MIN:
--- a/usr/src/lib/libdtrace/common/dt_cc.c	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/lib/libdtrace/common/dt_cc.c	Tue Feb 08 01:46:16 2011 -0800
@@ -83,6 +83,7 @@
 
 #include <sys/types.h>
 #include <sys/wait.h>
+#include <sys/sysmacros.h>
 
 #include <assert.h>
 #include <strings.h>
@@ -1292,6 +1293,145 @@
 		argmax = 5;
 	}
 
+	if (fid->di_id == DTRACEAGG_LLQUANTIZE) {
+		/*
+		 * For log/linear quantizations, we have between one and five
+		 * arguments in addition to the expression:
+		 *
+		 *    arg1 => Factor
+		 *    arg2 => Low magnitude
+		 *    arg3 => High magnitude
+		 *    arg4 => Number of steps per magnitude
+		 *    arg5 => Quantization increment value (defaults to 1)
+		 */
+		dt_node_t *llarg = dnp->dn_aggfun->dn_args->dn_list;
+		uint64_t oarg, order, v;
+		dt_idsig_t *isp;
+		int i;
+
+		struct {
+			char *str;		/* string identifier */
+			int badtype;		/* error on bad type */
+			int badval;		/* error on bad value */
+			int mismatch;		/* error on bad match */
+			int shift;		/* shift value */
+			uint16_t value;		/* value itself */
+		} args[] = {
+			{ "factor", D_LLQUANT_FACTORTYPE,
+			    D_LLQUANT_FACTORVAL, D_LLQUANT_FACTORMATCH,
+			    DTRACE_LLQUANTIZE_FACTORSHIFT },
+			{ "low magnitude", D_LLQUANT_LOWTYPE,
+			    D_LLQUANT_LOWVAL, D_LLQUANT_LOWMATCH,
+			    DTRACE_LLQUANTIZE_LOWSHIFT },
+			{ "high magnitude", D_LLQUANT_HIGHTYPE,
+			    D_LLQUANT_HIGHVAL, D_LLQUANT_HIGHMATCH,
+			    DTRACE_LLQUANTIZE_HIGHSHIFT },
+			{ "linear steps per magnitude", D_LLQUANT_NSTEPTYPE,
+			    D_LLQUANT_NSTEPVAL, D_LLQUANT_NSTEPMATCH,
+			    DTRACE_LLQUANTIZE_NSTEPSHIFT },
+			{ NULL }
+		};
+
+		assert(arg == 0);
+
+		for (i = 0; args[i].str != NULL; i++) {
+			if (llarg->dn_kind != DT_NODE_INT) {
+				dnerror(llarg, args[i].badtype, "llquantize( ) "
+				    "argument #%d (%s) must be an "
+				    "integer constant\n", i + 1, args[i].str);
+			}
+
+			if ((uint64_t)llarg->dn_value > UINT16_MAX) {
+				dnerror(llarg, args[i].badval, "llquantize( ) "
+				    "argument #%d (%s) must be an unsigned "
+				    "16-bit quantity\n", i + 1, args[i].str);
+			}
+
+			args[i].value = (uint16_t)llarg->dn_value;
+
+			assert(!(arg & (UINT16_MAX << args[i].shift)));
+			arg |= ((uint64_t)args[i].value << args[i].shift);
+			llarg = llarg->dn_list;
+		}
+
+		assert(arg != 0);
+
+		if (args[0].value < 2) {
+			dnerror(dnp, D_LLQUANT_FACTORSMALL, "llquantize( ) "
+			    "factor (argument #1) must be two or more\n");
+		}
+
+		if (args[1].value >= args[2].value) {
+			dnerror(dnp, D_LLQUANT_MAGRANGE, "llquantize( ) "
+			    "high magnitude (argument #3) must be greater "
+			    "than low magnitude (argument #2)\n");
+		}
+
+		if (args[3].value < args[0].value) {
+			dnerror(dnp, D_LLQUANT_FACTORNSTEPS, "llquantize( ) "
+			    "factor (argument #1) must be less than or "
+			    "equal to the number of linear steps per "
+			    "magnitude (argument #4)\n");
+		}
+
+		for (v = args[0].value; v < args[3].value; v *= args[0].value)
+			continue;
+
+		if ((args[3].value % args[0].value) || (v % args[3].value)) {
+			dnerror(dnp, D_LLQUANT_FACTOREVEN, "llquantize( ) "
+			    "factor (argument #1) must evenly divide the "
+			    "number of steps per magnitude (argument #4), "
+			    "and the number of steps per magnitude must evenly "
+			    "divide a power of the factor\n");
+		}
+
+		for (i = 0, order = 1; i < args[2].value; i++) {
+			if (order * args[0].value > order) {
+				order *= args[0].value;
+				continue;
+			}
+
+			dnerror(dnp, D_LLQUANT_MAGTOOBIG, "llquantize( ) "
+			    "factor (%d) raised to power of high magnitude "
+			    "(%d) overflows 64-bits\n", args[0].value,
+			    args[2].value);
+		}
+
+		isp = (dt_idsig_t *)aid->di_data;
+
+		if (isp->dis_auxinfo == 0) {
+			/*
+			 * This is the first time we've seen an llquantize()
+			 * for this aggregation; we'll store our argument
+			 * as the auxiliary signature information.
+			 */
+			isp->dis_auxinfo = arg;
+		} else if ((oarg = isp->dis_auxinfo) != arg) {
+			/*
+			 * If we have seen this llquantize() before and the
+			 * argument doesn't match the original argument, pick
+			 * the original argument apart to concisely report the
+			 * mismatch.
+			 */
+			int expected = 0, found = 0;
+
+			for (i = 0; expected == found; i++) {
+				assert(args[i].str != NULL);
+
+				expected = (oarg >> args[i].shift) & UINT16_MAX;
+				found = (arg >> args[i].shift) & UINT16_MAX;
+			}
+
+			dnerror(dnp, args[i - 1].mismatch, "llquantize( ) "
+			    "%s (argument #%d) doesn't match previous "
+			    "declaration: expected %d, found %d\n",
+			    args[i - 1].str, i, expected, found);
+		}
+
+		incr = llarg;
+		argmax = 6;
+	}
+
 	if (fid->di_id == DTRACEAGG_QUANTIZE) {
 		incr = dnp->dn_aggfun->dn_args->dn_list;
 		argmax = 2;
--- a/usr/src/lib/libdtrace/common/dt_consume.c	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/lib/libdtrace/common/dt_consume.c	Tue Feb 08 01:46:16 2011 -0800
@@ -23,6 +23,10 @@
  * Use is subject to license terms.
  */
 
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
 #include <stdlib.h>
 #include <strings.h>
 #include <errno.h>
@@ -681,6 +685,121 @@
 	return (0);
 }
 
+int
+dt_print_llquantize(dtrace_hdl_t *dtp, FILE *fp, const void *addr,
+    size_t size, uint64_t normal)
+{
+	int i, first_bin, last_bin, bin = 1, order, levels;
+	uint16_t factor, low, high, nsteps;
+	const int64_t *data = addr;
+	int64_t value = 1, next, step;
+	char positives = 0, negatives = 0;
+	long double total = 0;
+	uint64_t arg;
+	char c[32];
+
+	if (size < sizeof (uint64_t))
+		return (dt_set_errno(dtp, EDT_DMISMATCH));
+
+	arg = *data++;
+	size -= sizeof (uint64_t);
+
+	factor = DTRACE_LLQUANTIZE_FACTOR(arg);
+	low = DTRACE_LLQUANTIZE_LOW(arg);
+	high = DTRACE_LLQUANTIZE_HIGH(arg);
+	nsteps = DTRACE_LLQUANTIZE_NSTEP(arg);
+
+	/*
+	 * We don't expect to be handed invalid llquantize() parameters here,
+	 * but sanity check them (to a degree) nonetheless.
+	 */
+	if (size > INT32_MAX || factor < 2 || low >= high ||
+	    nsteps == 0 || factor > nsteps)
+		return (dt_set_errno(dtp, EDT_DMISMATCH));
+
+	levels = (int)size / sizeof (uint64_t);
+
+	first_bin = 0;
+	last_bin = levels - 1;
+
+	while (first_bin < levels && data[first_bin] == 0)
+		first_bin++;
+
+	if (first_bin == levels) {
+		first_bin = 0;
+		last_bin = 1;
+	} else {
+		if (first_bin > 0)
+			first_bin--;
+
+		while (last_bin > 0 && data[last_bin] == 0)
+			last_bin--;
+
+		if (last_bin < levels - 1)
+			last_bin++;
+	}
+
+	for (i = first_bin; i <= last_bin; i++) {
+		positives |= (data[i] > 0);
+		negatives |= (data[i] < 0);
+		total += dt_fabsl((long double)data[i]);
+	}
+
+	if (dt_printf(dtp, fp, "\n%16s %41s %-9s\n", "value",
+	    "------------- Distribution -------------", "count") < 0)
+		return (-1);
+
+	for (order = 0; order < low; order++)
+		value *= factor;
+
+	next = value * factor;
+	step = next > nsteps ? next / nsteps : 1;
+
+	if (first_bin == 0) {
+		(void) snprintf(c, sizeof (c), "< %lld", value);
+
+		if (dt_printf(dtp, fp, "%16s ", c) < 0)
+			return (-1);
+
+		if (dt_print_quantline(dtp, fp, data[0], normal,
+		    total, positives, negatives) < 0)
+			return (-1);
+	}
+
+	while (order <= high) {
+		if (bin >= first_bin && bin <= last_bin) {
+			if (dt_printf(dtp, fp, "%16lld ", (long long)value) < 0)
+				return (-1);
+
+			if (dt_print_quantline(dtp, fp, data[bin],
+			    normal, total, positives, negatives) < 0)
+				return (-1);
+		}
+
+		assert(value < next);
+		bin++;
+
+		if ((value += step) != next)
+			continue;
+
+		next = value * factor;
+		step = next > nsteps ? next / nsteps : 1;
+		order++;
+	}
+
+	if (last_bin < bin)
+		return (0);
+
+	assert(last_bin == bin);
+	(void) snprintf(c, sizeof (c), ">= %lld", value);
+
+	if (dt_printf(dtp, fp, "%16s ", c) < 0)
+		return (-1);
+
+	return (dt_print_quantline(dtp, fp, data[bin], normal,
+	    total, positives, negatives));
+}
+
 /*ARGSUSED*/
 static int
 dt_print_average(dtrace_hdl_t *dtp, FILE *fp, caddr_t addr,
@@ -1397,6 +1516,9 @@
 	case DTRACEAGG_LQUANTIZE:
 		return (dt_print_lquantize(dtp, fp, addr, size, normal));
 
+	case DTRACEAGG_LLQUANTIZE:
+		return (dt_print_llquantize(dtp, fp, addr, size, normal));
+
 	case DTRACEAGG_AVG:
 		return (dt_print_average(dtp, fp, addr, size, normal));
 
--- a/usr/src/lib/libdtrace/common/dt_errtags.h	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/lib/libdtrace/common/dt_errtags.h	Tue Feb 08 01:46:16 2011 -0800
@@ -24,11 +24,13 @@
  * Use is subject to license terms.
  */
 
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
 #ifndef	_DT_ERRTAGS_H
 #define	_DT_ERRTAGS_H
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
 #ifdef	__cplusplus
 extern "C" {
 #endif
@@ -235,7 +237,24 @@
 	D_FREOPEN_INVALID,		/* frename() filename is invalid */
 	D_LQUANT_MATCHBASE,		/* lquantize() mismatch on base */
 	D_LQUANT_MATCHLIM,		/* lquantize() mismatch on limit */
-	D_LQUANT_MATCHSTEP		/* lquantize() mismatch on step */
+	D_LQUANT_MATCHSTEP,		/* lquantize() mismatch on step */
+	D_LLQUANT_FACTORTYPE,		/* llquantize() bad magnitude type */
+	D_LLQUANT_FACTORVAL,		/* llquantize() bad magnitude value */
+	D_LLQUANT_FACTORMATCH,		/* llquantize() mismatch on magnitude */
+	D_LLQUANT_LOWTYPE,		/* llquantize() bad low mag type */
+	D_LLQUANT_LOWVAL,		/* llquantize() bad low mag value */
+	D_LLQUANT_LOWMATCH,		/* llquantize() mismatch on low mag */
+	D_LLQUANT_HIGHTYPE,		/* llquantize() bad high mag type */
+	D_LLQUANT_HIGHVAL,		/* llquantize() bad high mag value */
+	D_LLQUANT_HIGHMATCH,		/* llquantize() mismatch on high mag */
+	D_LLQUANT_NSTEPTYPE,		/* llquantize() bad # steps type */
+	D_LLQUANT_NSTEPVAL,		/* llquantize() bad # steps value */
+	D_LLQUANT_NSTEPMATCH,		/* llquantize() mismatch on # steps */
+	D_LLQUANT_MAGRANGE,		/* llquantize() bad magnitude range */
+	D_LLQUANT_FACTORNSTEPS,		/* llquantize() # steps < factor */
+	D_LLQUANT_FACTOREVEN,		/* llquantize() bad # steps/factor */
+	D_LLQUANT_FACTORSMALL,		/* llquantize() magnitude too small */
+	D_LLQUANT_MAGTOOBIG		/* llquantize() high mag too large */
 } dt_errtag_t;
 
 extern const char *dt_errtag(dt_errtag_t);
--- a/usr/src/lib/libdtrace/common/dt_impl.h	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/lib/libdtrace/common/dt_impl.h	Tue Feb 08 01:46:16 2011 -0800
@@ -24,6 +24,10 @@
  * Use is subject to license terms.
  */
 
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
 #ifndef	_DT_IMPL_H
 #define	_DT_IMPL_H
 
@@ -600,6 +604,8 @@
     const void *, size_t, uint64_t);
 extern int dt_print_lquantize(dtrace_hdl_t *, FILE *,
     const void *, size_t, uint64_t);
+extern int dt_print_llquantize(dtrace_hdl_t *, FILE *,
+    const void *, size_t, uint64_t);
 extern int dt_print_agg(const dtrace_aggdata_t *, void *);
 
 extern int dt_handle(dtrace_hdl_t *, dtrace_probedata_t *);
--- a/usr/src/lib/libdtrace/common/dt_open.c	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/lib/libdtrace/common/dt_open.c	Tue Feb 08 01:46:16 2011 -0800
@@ -21,6 +21,7 @@
 
 /*
  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
  */
 
 #include <sys/types.h>
@@ -103,8 +104,9 @@
 #define	DT_VERS_1_6_1	DT_VERSION_NUMBER(1, 6, 1)
 #define	DT_VERS_1_6_2	DT_VERSION_NUMBER(1, 6, 2)
 #define	DT_VERS_1_6_3	DT_VERSION_NUMBER(1, 6, 3)
-#define	DT_VERS_LATEST	DT_VERS_1_6_3
-#define	DT_VERS_STRING	"Sun D 1.6.3"
+#define	DT_VERS_1_7	DT_VERSION_NUMBER(1, 7, 0)
+#define	DT_VERS_LATEST	DT_VERS_1_7
+#define	DT_VERS_STRING	"Sun D 1.7"
 
 const dt_version_t _dtrace_versions[] = {
 	DT_VERS_1_0,	/* D API 1.0.0 (PSARC 2001/466) Solaris 10 FCS */
@@ -120,6 +122,7 @@
 	DT_VERS_1_6_1,	/* D API 1.6.1 */
 	DT_VERS_1_6_2,	/* D API 1.6.2 */
 	DT_VERS_1_6_3,	/* D API 1.6.3 */
+	DT_VERS_1_7,	/* D API 1.7 */
 	0
 };
 
@@ -251,6 +254,9 @@
 	&dt_idops_func, "stack(...)" },
 { "lltostr", DT_IDENT_FUNC, 0, DIF_SUBR_LLTOSTR, DT_ATTR_STABCMN, DT_VERS_1_0,
 	&dt_idops_func, "string(int64_t)" },
+{ "llquantize", DT_IDENT_AGGFUNC, 0, DTRACEAGG_LLQUANTIZE, DT_ATTR_STABCMN,
+	DT_VERS_1_7, &dt_idops_func,
+	"void(@, int32_t, int32_t, int32_t, int32_t, ...)" },
 { "lquantize", DT_IDENT_AGGFUNC, 0, DTRACEAGG_LQUANTIZE,
 	DT_ATTR_STABCMN, DT_VERS_1_0,
 	&dt_idops_func, "void(@, int32_t, int32_t, ...)" },
--- a/usr/src/lib/libdtrace/common/dt_pragma.c	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/lib/libdtrace/common/dt_pragma.c	Tue Feb 08 01:46:16 2011 -0800
@@ -201,7 +201,7 @@
 		dtp->dt_globals->dh_defer = &dt_pragma_apply;
 }
 
-static void 
+static void
 dt_pragma_depends_finddep(dtrace_hdl_t *dtp, const char *lname, char *lib,
     size_t len)
 {
--- a/usr/src/lib/libdtrace/common/dt_printf.c	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/lib/libdtrace/common/dt_printf.c	Tue Feb 08 01:46:16 2011 -0800
@@ -21,6 +21,7 @@
 
 /*
  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
  */
 
 #include <sys/sysmacros.h>
@@ -1300,6 +1301,14 @@
 	return (dt_print_lquantize(dtp, fp, addr, size, normal));
 }
 
+/*ARGSUSED*/
+static int
+pfprint_llquantize(dtrace_hdl_t *dtp, FILE *fp, const char *format,
+    const dt_pfargd_t *pfd, const void *addr, size_t size, uint64_t normal)
+{
+	return (dt_print_llquantize(dtp, fp, addr, size, normal));
+}
+
 static int
 dt_printf_format(dtrace_hdl_t *dtp, FILE *fp, const dt_pfargv_t *pfv,
     const dtrace_recdesc_t *recs, uint_t nrecs, const void *buf,
@@ -1485,6 +1494,9 @@
 		case DTRACEAGG_LQUANTIZE:
 			func = pfprint_lquantize;
 			break;
+		case DTRACEAGG_LLQUANTIZE:
+			func = pfprint_llquantize;
+			break;
 		case DTRACEACT_MOD:
 			func = pfprint_mod;
 			break;
--- a/usr/src/lib/libdtrace/common/dtrace.h	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/lib/libdtrace/common/dtrace.h	Tue Feb 08 01:46:16 2011 -0800
@@ -24,11 +24,13 @@
  * Use is subject to license terms.
  */
 
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
 #ifndef	_DTRACE_H
 #define	_DTRACE_H
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
 #include <sys/dtrace.h>
 #include <stdarg.h>
 #include <stdio.h>
--- a/usr/src/pkg/manifests/system-dtrace-tests.mf	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/pkg/manifests/system-dtrace-tests.mf	Tue Feb 08 01:46:16 2011 -0800
@@ -69,6 +69,7 @@
 dir path=opt/SUNWdtrt/tst/common/ip
 dir path=opt/SUNWdtrt/tst/common/java_api
 dir path=opt/SUNWdtrt/tst/common/lexer
+dir path=opt/SUNWdtrt/tst/common/llquantize
 dir path=opt/SUNWdtrt/tst/common/mdb
 dir path=opt/SUNWdtrt/tst/common/mib
 dir path=opt/SUNWdtrt/tst/common/misc
@@ -930,6 +931,57 @@
 file path=opt/SUNWdtrt/tst/common/lexer/err.D_SYNTAX.paren3.d mode=0444
 file path=opt/SUNWdtrt/tst/common/lexer/tst.D_MACRO_OFLOW.ParIntOvflow.d.ksh \
     mode=0444
+file \
+    path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_FACTOREVEN.nodivide.d \
+    mode=0444
+file \
+    path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_FACTOREVEN.notfactor.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_FACTORMATCH.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_FACTORNSTEPS.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_FACTORSMALL.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_FACTORTYPE.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_FACTORVAL.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_HIGHMATCH.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_HIGHTYPE.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_HIGHVAL.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_LOWMATCH.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_LOWTYPE.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_LOWVAL.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_MAGRANGE.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_MAGTOOBIG.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_NSTEPMATCH.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_NSTEPTYPE.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/err.D_LLQUANT_NSTEPVAL.d \
+    mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.bases.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.bases.d.out mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.basic.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.basic.d.out mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.negorder.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.negorder.d.out mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.negvalue.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.negvalue.d.out mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.normal.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.normal.d.out mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.range.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.range.d.out mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.steps.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.steps.d.out mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.trunc.d mode=0444
+file path=opt/SUNWdtrt/tst/common/llquantize/tst.trunc.d.out mode=0444
 file path=opt/SUNWdtrt/tst/common/mdb/tst.dtracedcmd.ksh mode=0444
 file path=opt/SUNWdtrt/tst/common/mib/tst.icmp.ksh mode=0444
 file path=opt/SUNWdtrt/tst/common/mib/tst.tcp.ksh mode=0444
--- a/usr/src/uts/common/dtrace/dtrace.c	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/uts/common/dtrace/dtrace.c	Tue Feb 08 01:46:16 2011 -0800
@@ -1860,6 +1860,75 @@
 	lquanta[levels + 1] += incr;
 }
 
+static int
+dtrace_aggregate_llquantize_bucket(uint16_t factor, uint16_t low,
+    uint16_t high, uint16_t nsteps, int64_t value)
+{
+	int64_t this = 1, last, next;
+	int base = 1, order;
+
+	ASSERT(factor <= nsteps);
+	ASSERT(nsteps % factor == 0);
+
+	for (order = 0; order < low; order++)
+		this *= factor;
+
+	/*
+	 * If our value is less than our factor taken to the power of the
+	 * low order of magnitude, it goes into the zeroth bucket.
+	 */
+	if (value < (last = this))
+		return (0);
+
+	for (this *= factor; order <= high; order++) {
+		int nbuckets = this > nsteps ? nsteps : this;
+
+		if ((next = this * factor) < this) {
+			/*
+			 * We should not generally get log/linear quantizations
+			 * with a high magnitude that allows 64-bits to
+			 * overflow, but we nonetheless protect against this
+			 * by explicitly checking for overflow, and clamping
+			 * our value accordingly.
+			 */
+			value = this - 1;
+		}
+
+		if (value < this) {
+			/*
+			 * If our value lies within this order of magnitude,
+			 * determine its position by taking the offset within
+			 * the order of magnitude, dividing by the bucket
+			 * width, and adding to our (accumulated) base.
+			 */
+			return (base + (value - last) / (this / nbuckets));
+		}
+
+		base += nbuckets - (nbuckets / factor);
+		last = this;
+		this = next;
+	}
+
+	/*
+	 * Our value is greater than or equal to our factor taken to the
+	 * power of one plus the high magnitude -- return the top bucket.
+	 */
+	return (base);
+}
+
+static void
+dtrace_aggregate_llquantize(uint64_t *llquanta, uint64_t nval, uint64_t incr)
+{
+	uint64_t arg = *llquanta++;
+	uint16_t factor = DTRACE_LLQUANTIZE_FACTOR(arg);
+	uint16_t low = DTRACE_LLQUANTIZE_LOW(arg);
+	uint16_t high = DTRACE_LLQUANTIZE_HIGH(arg);
+	uint16_t nsteps = DTRACE_LLQUANTIZE_NSTEP(arg);
+
+	llquanta[dtrace_aggregate_llquantize_bucket(factor,
+	    low, high, nsteps, nval)] += incr;
+}
+
 /*ARGSUSED*/
 static void
 dtrace_aggregate_avg(uint64_t *data, uint64_t nval, uint64_t arg)
@@ -9377,6 +9446,35 @@
 		break;
 	}
 
+	case DTRACEAGG_LLQUANTIZE: {
+		uint16_t factor = DTRACE_LLQUANTIZE_FACTOR(desc->dtad_arg);
+		uint16_t low = DTRACE_LLQUANTIZE_LOW(desc->dtad_arg);
+		uint16_t high = DTRACE_LLQUANTIZE_HIGH(desc->dtad_arg);
+		uint16_t nsteps = DTRACE_LLQUANTIZE_NSTEP(desc->dtad_arg);
+		int64_t v;
+
+		agg->dtag_initial = desc->dtad_arg;
+		agg->dtag_aggregate = dtrace_aggregate_llquantize;
+
+		if (factor < 2 || low >= high || nsteps < factor)
+			goto err;
+
+		/*
+		 * Now check that the number of steps evenly divides a power
+		 * of the factor.  (This assures both integer bucket size and
+		 * linearity within each magnitude.)
+		 */
+		for (v = factor; v < nsteps; v *= factor)
+			continue;
+
+		if ((v % nsteps) || (nsteps % factor))
+			goto err;
+
+		size = (dtrace_aggregate_llquantize_bucket(factor,
+		    low, high, nsteps, INT64_MAX) + 2) * sizeof (uint64_t);
+		break;
+	}
+
 	case DTRACEAGG_AVG:
 		agg->dtag_aggregate = dtrace_aggregate_avg;
 		size = sizeof (uint64_t) * 2;
--- a/usr/src/uts/common/sys/dtrace.h	Sun Mar 13 18:28:09 2011 -0700
+++ b/usr/src/uts/common/sys/dtrace.h	Tue Feb 08 01:46:16 2011 -0800
@@ -24,6 +24,10 @@
  * Use is subject to license terms.
  */
 
+/*
+ * Copyright (c) 2011, Joyent, Inc. All rights reserved.
+ */
+
 #ifndef _SYS_DTRACE_H
 #define	_SYS_DTRACE_H
 
@@ -455,6 +459,7 @@
 #define	DTRACEAGG_STDDEV		(DTRACEACT_AGGREGATION + 6)
 #define	DTRACEAGG_QUANTIZE		(DTRACEACT_AGGREGATION + 7)
 #define	DTRACEAGG_LQUANTIZE		(DTRACEACT_AGGREGATION + 8)
+#define	DTRACEAGG_LLQUANTIZE		(DTRACEACT_AGGREGATION + 9)
 
 #define	DTRACEACT_ISAGG(x)		\
 	(DTRACEACT_CLASS(x) == DTRACEACT_AGGREGATION)
@@ -489,6 +494,31 @@
 	(int32_t)(((x) & DTRACE_LQUANTIZE_BASEMASK) >> \
 	DTRACE_LQUANTIZE_BASESHIFT)
 
+#define	DTRACE_LLQUANTIZE_FACTORSHIFT		48
+#define	DTRACE_LLQUANTIZE_FACTORMASK		((uint64_t)UINT16_MAX << 48)
+#define	DTRACE_LLQUANTIZE_LOWSHIFT		32
+#define	DTRACE_LLQUANTIZE_LOWMASK		((uint64_t)UINT16_MAX << 32)
+#define	DTRACE_LLQUANTIZE_HIGHSHIFT		16
+#define	DTRACE_LLQUANTIZE_HIGHMASK		((uint64_t)UINT16_MAX << 16)
+#define	DTRACE_LLQUANTIZE_NSTEPSHIFT		0
+#define	DTRACE_LLQUANTIZE_NSTEPMASK		UINT16_MAX
+
+#define	DTRACE_LLQUANTIZE_FACTOR(x)		\
+	(uint16_t)(((x) & DTRACE_LLQUANTIZE_FACTORMASK) >> \
+	DTRACE_LLQUANTIZE_FACTORSHIFT)
+
+#define	DTRACE_LLQUANTIZE_LOW(x)		\
+	(uint16_t)(((x) & DTRACE_LLQUANTIZE_LOWMASK) >> \
+	DTRACE_LLQUANTIZE_LOWSHIFT)
+
+#define	DTRACE_LLQUANTIZE_HIGH(x)		\
+	(uint16_t)(((x) & DTRACE_LLQUANTIZE_HIGHMASK) >> \
+	DTRACE_LLQUANTIZE_HIGHSHIFT)
+
+#define	DTRACE_LLQUANTIZE_NSTEP(x)		\
+	(uint16_t)(((x) & DTRACE_LLQUANTIZE_NSTEPMASK) >> \
+	DTRACE_LLQUANTIZE_NSTEPSHIFT)
+
 #define	DTRACE_USTACK_NFRAMES(x)	(uint32_t)((x) & UINT32_MAX)
 #define	DTRACE_USTACK_STRSIZE(x)	(uint32_t)((x) >> 32)
 #define	DTRACE_USTACK_ARG(x, y)		\