Print this page
4374 dn_free_ranges should use range_tree_t
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Max Grossman <max.grossman@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com
Reviewed by: Garrett D'Amore <garrett@damore.org>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Dan McDonald <danmcd@omniti.com>

*** 20,29 **** --- 20,30 ---- */ /* * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2014 Nexenta Systems, Inc. All rights reserved. + * Copyright (c) 2014 by Delphix. All rights reserved. */ /* * Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. * Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T
*** 2843,2852 **** --- 2844,2890 ---- incl %eax ret SET_SIZE(highbit) #endif /* __i386 */ + #endif /* __lint */ + + #if defined(__lint) + + /*ARGSUSED*/ + int + highbit64(uint64_t i) + { return (0); } + + #else /* __lint */ + + #if defined(__amd64) + + ENTRY(highbit64) + movl $-1, %eax + bsrq %rdi, %rax + incl %eax + ret + SET_SIZE(highbit64) + + #elif defined(__i386) + + ENTRY(highbit64) + bsrl 8(%esp), %eax + jz .lowbit + addl $32, %eax + jmp .done + + .lowbit: + movl $-1, %eax + bsrl 4(%esp), %eax + .done: + incl %eax + ret + SET_SIZE(highbit64) + + #endif /* __i386 */ #endif /* __lint */ #if defined(__lint) /*ARGSUSED*/