buffer: move process.binding('buffer') to internalBinding

PR-URL: https://github.com/nodejs/node/pull/22370
Refs: https://github.com/nodejs/node/issues/22160
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
Weijia Wang 2018-08-17 16:33:45 +08:00 committed by Weijia Wang
parent ea1565e09f
commit ac23e6557f
21 changed files with 46 additions and 22 deletions

View File

@ -36,7 +36,7 @@ const {
swap64: _swap64,
kMaxLength,
kStringMaxLength
} = process.binding('buffer');
} = internalBinding('buffer');
const { isAnyArrayBuffer } = internalBinding('types');
const {
customInspectSymbol,

View File

@ -413,7 +413,8 @@
'url',
'spawn_sync',
'js_stream',
'zlib']);
'zlib',
'buffer']);
process.binding = function binding(name) {
return internalBindingWhitelist.has(name) ?
internalBinding(name) :

View File

@ -1,6 +1,6 @@
'use strict';
const binding = process.binding('buffer');
const binding = internalBinding('buffer');
const {
ERR_BUFFER_OUT_OF_BOUNDS,
ERR_INVALID_ARG_TYPE,

View File

@ -29,7 +29,7 @@ const {
const {
encodeUtf8String
} = process.binding('buffer');
} = internalBinding('buffer');
var Buffer;
function lazyBuffer() {

View File

@ -20,7 +20,7 @@ const {
UV_EAI_NODATA,
UV_EAI_NONAME
} = internalBinding('uv');
const { kMaxLength } = process.binding('buffer');
const { kMaxLength } = internalBinding('buffer');
const { defineProperty } = Object;
// Lazily loaded

View File

@ -1,6 +1,6 @@
'use strict';
const { compare } = process.binding('buffer');
const { compare } = internalBinding('buffer');
const { isArrayBufferView } = require('internal/util/types');
const {
isAnyArrayBuffer,

View File

@ -20,7 +20,7 @@ const {
Serializer: _Serializer,
Deserializer: _Deserializer
} = internalBinding('serdes');
const { copy } = process.binding('buffer');
const { copy } = internalBinding('buffer');
const { objectToString } = require('internal/util');
const { FastBuffer } = require('internal/buffer');

View File

@ -1104,4 +1104,4 @@ void Initialize(Local<Object> target,
} // namespace Buffer
} // namespace node
NODE_BUILTIN_MODULE_CONTEXT_AWARE(buffer, node::Buffer::Initialize)
NODE_MODULE_CONTEXT_AWARE_INTERNAL(buffer, node::Buffer::Initialize)

View File

@ -1,6 +1,8 @@
'use strict';
// Flags: --expose-internals
const common = require('../../common');
const { internalBinding } = require('internal/test/binding');
const skipMessage = 'intensive toString tests due to memory confinements';
if (!common.enoughTestMem)
common.skip(skipMessage);
@ -10,7 +12,7 @@ const assert = require('assert');
// v8 fails silently if string length > v8::String::kMaxLength
// v8::String::kMaxLength defined in v8.h
const kStringMaxLength = process.binding('buffer').kStringMaxLength;
const kStringMaxLength = internalBinding('buffer').kStringMaxLength;
let buf;
try {

View File

@ -1,6 +1,8 @@
'use strict';
// Flags: --expose-internals
const common = require('../../common');
const { internalBinding } = require('internal/test/binding');
const skipMessage = 'intensive toString tests due to memory confinements';
if (!common.enoughTestMem)
common.skip(skipMessage);
@ -9,7 +11,7 @@ const binding = require(`./build/${common.buildType}/binding`);
// v8 fails silently if string length > v8::String::kMaxLength
// v8::String::kMaxLength defined in v8.h
const kStringMaxLength = process.binding('buffer').kStringMaxLength;
const kStringMaxLength = internalBinding('buffer').kStringMaxLength;
let buf;
try {

View File

@ -1,6 +1,8 @@
'use strict';
// Flags: --expose-internals
const common = require('../../common');
const { internalBinding } = require('internal/test/binding');
const skipMessage = 'intensive toString tests due to memory confinements';
if (!common.enoughTestMem)
common.skip(skipMessage);
@ -9,7 +11,7 @@ const binding = require(`./build/${common.buildType}/binding`);
// v8 fails silently if string length > v8::String::kMaxLength
// v8::String::kMaxLength defined in v8.h
const kStringMaxLength = process.binding('buffer').kStringMaxLength;
const kStringMaxLength = internalBinding('buffer').kStringMaxLength;
let buf;
try {

View File

@ -1,7 +1,8 @@
// Flags: --expose-gc
// Flags: --expose-gc --expose-internals
'use strict';
const common = require('../../common');
const { internalBinding } = require('internal/test/binding');
const skipMessage = 'intensive toString tests due to memory confinements';
if (!common.enoughTestMem)
common.skip(skipMessage);
@ -11,7 +12,7 @@ const assert = require('assert');
// v8 fails silently if string length > v8::String::kMaxLength
// v8::String::kMaxLength defined in v8.h
const kStringMaxLength = process.binding('buffer').kStringMaxLength;
const kStringMaxLength = internalBinding('buffer').kStringMaxLength;
let buf;
try {

View File

@ -1,6 +1,8 @@
'use strict';
// Flags: --expose-internals
const common = require('../../common');
const { internalBinding } = require('internal/test/binding');
const skipMessage = 'intensive toString tests due to memory confinements';
if (!common.enoughTestMem)
common.skip(skipMessage);
@ -9,7 +11,7 @@ const binding = require(`./build/${common.buildType}/binding`);
// v8 fails silently if string length > v8::String::kMaxLength
// v8::String::kMaxLength defined in v8.h
const kStringMaxLength = process.binding('buffer').kStringMaxLength;
const kStringMaxLength = internalBinding('buffer').kStringMaxLength;
let buf;
try {

View File

@ -1,6 +1,8 @@
'use strict';
// Flags: --expose-internals
const common = require('../../common');
const { internalBinding } = require('internal/test/binding');
const skipMessage = 'intensive toString tests due to memory confinements';
if (!common.enoughTestMem)
common.skip(skipMessage);
@ -10,7 +12,7 @@ const assert = require('assert');
// v8 fails silently if string length > v8::String::kMaxLength
// v8::String::kMaxLength defined in v8.h
const kStringMaxLength = process.binding('buffer').kStringMaxLength;
const kStringMaxLength = internalBinding('buffer').kStringMaxLength;
let buf;
try {

View File

@ -1,6 +1,8 @@
'use strict';
// Flags: --expose-internals
const common = require('../../common');
const { internalBinding } = require('internal/test/binding');
const skipMessage = 'intensive toString tests due to memory confinements';
if (!common.enoughTestMem)
common.skip(skipMessage);
@ -10,7 +12,7 @@ const assert = require('assert');
// v8 fails silently if string length > v8::String::kMaxLength
// v8::String::kMaxLength defined in v8.h
const kStringMaxLength = process.binding('buffer').kStringMaxLength;
const kStringMaxLength = internalBinding('buffer').kStringMaxLength;
let buf;
try {

View File

@ -1,6 +1,8 @@
'use strict';
// Flags: --expose-internals
const common = require('../../common');
const { internalBinding } = require('internal/test/binding');
const skipMessage = 'intensive toString tests due to memory confinements';
if (!common.enoughTestMem)
common.skip(skipMessage);
@ -9,7 +11,7 @@ const binding = require(`./build/${common.buildType}/binding`);
// v8 fails silently if string length > v8::String::kMaxLength
// v8::String::kMaxLength defined in v8.h
const kStringMaxLength = process.binding('buffer').kStringMaxLength;
const kStringMaxLength = internalBinding('buffer').kStringMaxLength;
let buf;
try {

View File

@ -3,6 +3,7 @@
const common = require('../common');
const assert = require('assert');
const { codes: { ERR_OUT_OF_RANGE } } = require('internal/errors');
const { internalBinding } = require('internal/test/binding');
const SIZE = 28;
const buf1 = Buffer.allocUnsafe(SIZE);
@ -327,7 +328,7 @@ Buffer.alloc(8, '');
// Testing process.binding. Make sure "start" is properly checked for -1 wrap
// around.
assert.strictEqual(
process.binding('buffer').fill(Buffer.alloc(1), 1, -1, 0, 1), -2);
internalBinding('buffer').fill(Buffer.alloc(1), 1, -1, 0, 1), -2);
// Make sure "end" is properly checked, even if it's magically mangled using
// Symbol.toPrimitive.
@ -365,7 +366,7 @@ assert.strictEqual(
// Testing process.binding. Make sure "end" is properly checked for -1 wrap
// around.
assert.strictEqual(
process.binding('buffer').fill(Buffer.alloc(1), 1, 1, -2, 1), -2);
internalBinding('buffer').fill(Buffer.alloc(1), 1, 1, -2, 1), -2);
// Test that bypassing 'length' won't cause an abort.
common.expectsError(() => {

View File

@ -5,6 +5,8 @@ const {
hijackStdout,
restoreStdout,
} = require('../common/hijackstdio');
const { internalBinding } = require('internal/test/binding');
const assert = require('assert');
const errors = require('internal/errors');
@ -183,7 +185,7 @@ assert.strictEqual(
'Invalid asyncId value: undefined');
{
const { kMaxLength } = process.binding('buffer');
const { kMaxLength } = internalBinding('buffer');
const error = new errors.codes.ERR_BUFFER_TOO_LARGE();
assert.strictEqual(
error.message,

View File

@ -15,3 +15,4 @@ assert(process.binding('contextify'));
assert(process.binding('url'));
assert(process.binding('spawn_sync'));
assert(process.binding('js_stream'));
assert(process.binding('buffer'));

View File

@ -1,6 +1,8 @@
'use strict';
// Flags: --expose-internals
require('../common');
const assert = require('assert');
const { internalBinding } = require('internal/test/binding');
assert.throws(
function() {
@ -9,4 +11,4 @@ assert.throws(
/No such module: test/
);
process.binding('buffer');
internalBinding('buffer');

View File

@ -1,6 +1,8 @@
'use strict';
// Flags: --expose-internals
const common = require('../common');
const { internalBinding } = require('internal/test/binding');
if (!common.enoughTestMem)
common.skip('intensive toString tests due to memory confinements');
@ -9,7 +11,7 @@ const assert = require('assert');
const fs = require('fs');
const path = require('path');
const cp = require('child_process');
const kStringMaxLength = process.binding('buffer').kStringMaxLength;
const kStringMaxLength = internalBinding('buffer').kStringMaxLength;
if (common.isAIX && (Number(cp.execSync('ulimit -f')) * 512) < kStringMaxLength)
common.skip('intensive toString tests due to file size confinements');