提交 24767d5c 编写于 作者: A Alex Dima

Use uint constants instead of introducing new ones

上级 f494ce4b
......@@ -16,17 +16,7 @@ import * as editorCommon from 'vs/editor/common/editorCommon';
import { EditorLayoutProvider } from 'vs/editor/common/viewLayout/editorLayoutProvider';
import { ScrollbarVisibility } from 'vs/base/common/scrollable';
import { FontInfo, BareFontInfo } from 'vs/editor/common/config/fontInfo';
// TODO@Alex: investigate if it is better to stick to 31 bits (see smi = SMall Integer)
// See https://thibaultlaurens.github.io/javascript/2013/04/29/how-the-v8-engine-works/#tagged-values
/**
* MAX_INT that fits in 32 bits
*/
const MAX_SAFE_INT = 0x7fffffff;
/**
* MIN_INT that fits in 32 bits
*/
const MIN_SAFE_INT = -0x80000000;
import { Constants } from 'vs/editor/common/core/uint';
export interface IEditorZoom {
onDidChangeZoomLevel: Event<number>;
......@@ -408,7 +398,7 @@ function toFloat(source: any, defaultValue: number): number {
return r;
}
function toInteger(source: any, minimum: number = MIN_SAFE_INT, maximum: number = MAX_SAFE_INT): number {
function toInteger(source: any, minimum: number = Constants.MIN_SAFE_SMALL_INTEGER, maximum: number = Constants.MAX_SAFE_SMALL_INTEGER): number {
let r = parseInt(source, 10);
if (isNaN(r)) {
r = 0;
......
......@@ -35,9 +35,18 @@ export const enum Constants {
* MAX SMI (SMall Integer) as defined in v8.
* one bit is lost for boxing/unboxing flag.
* one bit is lost for sign flag.
* See https://thibaultlaurens.github.io/javascript/2013/04/29/how-the-v8-engine-works/#tagged-values
*/
MAX_SAFE_SMALL_INTEGER = 1 << 30,
/**
* MIN SMI (SMall Integer) as defined in v8.
* one bit is lost for boxing/unboxing flag.
* one bit is lost for sign flag.
* See https://thibaultlaurens.github.io/javascript/2013/04/29/how-the-v8-engine-works/#tagged-values
*/
MIN_SAFE_SMALL_INTEGER = -(1 << 30),
/**
* Max unsigned integer that fits on 8 bits.
*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册