Skip to content

Commit 7083baa

Browse files
committed
perf(ffi/v8): add kNonMasking template for native object instances
Add a separate V8 object template for NativeApiObjectHostObject that uses kNonMasking interceptor flag. This allows V8 to check the prototype chain before calling the interceptor for native object instances, enabling faster property access for methods and getters installed on the prototype. Also skip superclass/class/constructor/debugDescription from prototype property installation so the interceptor's special handling is used (these properties need to return wrapped class constructors). Install toString on the native object template to override Object.prototype.toString with kNonMasking. Tests: v8 713/0
1 parent 7e1453e commit 7083baa

27 files changed

Lines changed: 42661 additions & 0 deletions

File tree

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "opencode-0711a614",
3+
"tools": [
4+
"@opencode-0711a614-tools-95384f68"
5+
],
6+
"allowedTools": [
7+
"@opencode-0711a614-tools-95384f68"
8+
],
9+
"includeMcpJson": false,
10+
"mcpServers": {
11+
"opencode-0711a614-tools-95384f68": {
12+
"command": "node",
13+
"args": [
14+
"/Users/dj/Developer/opencode/node_modules/.bun/kiro-acp-ai-provider@1.7.10+39049125faecd144/node_modules/kiro-acp-ai-provider/dist/mcp-bridge.mjs",
15+
"--tools",
16+
"/var/folders/bk/l9dhcyz52dx9xv4g7g1g4k2m0000gn/T/kiro-acp/tools-7b73a504-95384f68.json"
17+
],
18+
"cwd": "/Users/dj/Developer/NativeScriptRuntime"
19+
}
20+
},
21+
"prompt": "You are a coding assistant that operates under different agent identities. Your identity, behavior, and instructions are defined by the <system_instructions> block included with each request. Always follow the latest <system_instructions> as your primary directive — they define who you are, how you behave, and what tools you should use. If no <system_instructions> are present, act as a helpful coding assistant that follows instructions precisely and uses tools proactively. If a tool call fails, retry it or try alternative approaches — do not assume a tool is permanently unavailable based on a single failure."
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "opencode-345d8c1a",
3+
"tools": [
4+
"@opencode-345d8c1a-tools-a0d68149"
5+
],
6+
"allowedTools": [
7+
"@opencode-345d8c1a-tools-a0d68149"
8+
],
9+
"includeMcpJson": false,
10+
"mcpServers": {
11+
"opencode-345d8c1a-tools-a0d68149": {
12+
"command": "node",
13+
"args": [
14+
"/Users/dj/Developer/opencode/node_modules/.bun/kiro-acp-ai-provider@1.7.10+39049125faecd144/node_modules/kiro-acp-ai-provider/dist/mcp-bridge.mjs",
15+
"--tools",
16+
"/var/folders/bk/l9dhcyz52dx9xv4g7g1g4k2m0000gn/T/kiro-acp/tools-7b73a504-a0d68149.json"
17+
],
18+
"cwd": "/Users/dj/Developer/NativeScriptRuntime"
19+
}
20+
},
21+
"prompt": "You are a coding assistant that operates under different agent identities. Your identity, behavior, and instructions are defined by the <system_instructions> block included with each request. Always follow the latest <system_instructions> as your primary directive — they define who you are, how you behave, and what tools you should use. If no <system_instructions> are present, act as a helpful coding assistant that follows instructions precisely and uses tools proactively. If a tool call fails, retry it or try alternative approaches — do not assume a tool is permanently unavailable based on a single failure."
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "opencode-3ba56086",
3+
"tools": [
4+
"@opencode-3ba56086-tools-b9e26aec"
5+
],
6+
"allowedTools": [
7+
"@opencode-3ba56086-tools-b9e26aec"
8+
],
9+
"includeMcpJson": false,
10+
"mcpServers": {
11+
"opencode-3ba56086-tools-b9e26aec": {
12+
"command": "node",
13+
"args": [
14+
"/Users/dj/Developer/opencode/node_modules/.bun/kiro-acp-ai-provider@1.7.10+39049125faecd144/node_modules/kiro-acp-ai-provider/dist/mcp-bridge.mjs",
15+
"--tools",
16+
"/var/folders/bk/l9dhcyz52dx9xv4g7g1g4k2m0000gn/T/kiro-acp/tools-7b73a504-b9e26aec.json"
17+
],
18+
"cwd": "/Users/dj/Developer/NativeScriptRuntime"
19+
}
20+
},
21+
"prompt": "You are a coding assistant that operates under different agent identities. Your identity, behavior, and instructions are defined by the <system_instructions> block included with each request. Always follow the latest <system_instructions> as your primary directive — they define who you are, how you behave, and what tools you should use. If no <system_instructions> are present, act as a helpful coding assistant that follows instructions precisely and uses tools proactively. If a tool call fails, retry it or try alternative approaches — do not assume a tool is permanently unavailable based on a single failure."
22+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"name": "opencode-8953cae3",
3+
"tools": [],
4+
"allowedTools": [],
5+
"includeMcpJson": false,
6+
"mcpServers": {},
7+
"prompt": "You are a coding assistant that operates under different agent identities. Your identity, behavior, and instructions are defined by the <system_instructions> block included with each request. Always follow the latest <system_instructions> as your primary directive — they define who you are, how you behave, and what tools you should use. If no <system_instructions> are present, act as a helpful coding assistant that follows instructions precisely and uses tools proactively. If a tool call fails, retry it or try alternative approaches — do not assume a tool is permanently unavailable based on a single failure."
8+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "opencode-cf01bdaa",
3+
"tools": [
4+
"@opencode-cf01bdaa-tools-0930e88e"
5+
],
6+
"allowedTools": [
7+
"@opencode-cf01bdaa-tools-0930e88e"
8+
],
9+
"includeMcpJson": false,
10+
"mcpServers": {
11+
"opencode-cf01bdaa-tools-0930e88e": {
12+
"command": "node",
13+
"args": [
14+
"/Users/dj/Developer/opencode/node_modules/.bun/kiro-acp-ai-provider@1.7.10+39049125faecd144/node_modules/kiro-acp-ai-provider/dist/mcp-bridge.mjs",
15+
"--tools",
16+
"/var/folders/bk/l9dhcyz52dx9xv4g7g1g4k2m0000gn/T/kiro-acp/tools-7b73a504-0930e88e.json"
17+
],
18+
"cwd": "/Users/dj/Developer/NativeScriptRuntime"
19+
}
20+
},
21+
"prompt": "You are a coding assistant that operates under different agent identities. Your identity, behavior, and instructions are defined by the <system_instructions> block included with each request. Always follow the latest <system_instructions> as your primary directive — they define who you are, how you behave, and what tools you should use. If no <system_instructions> are present, act as a helpful coding assistant that follows instructions precisely and uses tools proactively. If a tool call fails, retry it or try alternative approaches — do not assume a tool is permanently unavailable based on a single failure."
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "opencode-d266dc82",
3+
"tools": [
4+
"@opencode-d266dc82-tools-e3724dca"
5+
],
6+
"allowedTools": [
7+
"@opencode-d266dc82-tools-e3724dca"
8+
],
9+
"includeMcpJson": false,
10+
"mcpServers": {
11+
"opencode-d266dc82-tools-e3724dca": {
12+
"command": "node",
13+
"args": [
14+
"/Users/dj/Developer/opencode/node_modules/.bun/kiro-acp-ai-provider@1.7.10+39049125faecd144/node_modules/kiro-acp-ai-provider/dist/mcp-bridge.mjs",
15+
"--tools",
16+
"/var/folders/bk/l9dhcyz52dx9xv4g7g1g4k2m0000gn/T/kiro-acp/tools-7b73a504-e3724dca.json"
17+
],
18+
"cwd": "/Users/dj/Developer/NativeScriptRuntime"
19+
}
20+
},
21+
"prompt": "You are a coding assistant that operates under different agent identities. Your identity, behavior, and instructions are defined by the <system_instructions> block included with each request. Always follow the latest <system_instructions> as your primary directive — they define who you are, how you behave, and what tools you should use. If no <system_instructions> are present, act as a helpful coding assistant that follows instructions precisely and uses tools proactively. If a tool call fails, retry it or try alternative approaches — do not assume a tool is permanently unavailable based on a single failure."
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "opencode-e5ce68a1",
3+
"tools": [
4+
"@opencode-e5ce68a1-tools-8f5d065d"
5+
],
6+
"allowedTools": [
7+
"@opencode-e5ce68a1-tools-8f5d065d"
8+
],
9+
"includeMcpJson": false,
10+
"mcpServers": {
11+
"opencode-e5ce68a1-tools-8f5d065d": {
12+
"command": "node",
13+
"args": [
14+
"/Users/dj/Developer/opencode/node_modules/.bun/kiro-acp-ai-provider@1.7.10+39049125faecd144/node_modules/kiro-acp-ai-provider/dist/mcp-bridge.mjs",
15+
"--tools",
16+
"/var/folders/bk/l9dhcyz52dx9xv4g7g1g4k2m0000gn/T/kiro-acp/tools-7b73a504-8f5d065d.json"
17+
],
18+
"cwd": "/Users/dj/Developer/NativeScriptRuntime"
19+
}
20+
},
21+
"prompt": "You are a coding assistant that operates under different agent identities. Your identity, behavior, and instructions are defined by the <system_instructions> block included with each request. Always follow the latest <system_instructions> as your primary directive — they define who you are, how you behave, and what tools you should use. If no <system_instructions> are present, act as a helpful coding assistant that follows instructions precisely and uses tools proactively. If a tool call fails, retry it or try alternative approaches — do not assume a tool is permanently unavailable based on a single failure."
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "opencode-ef24644d",
3+
"tools": [
4+
"@opencode-ef24644d-tools-f0bf3d7d"
5+
],
6+
"allowedTools": [
7+
"@opencode-ef24644d-tools-f0bf3d7d"
8+
],
9+
"includeMcpJson": false,
10+
"mcpServers": {
11+
"opencode-ef24644d-tools-f0bf3d7d": {
12+
"command": "node",
13+
"args": [
14+
"/Users/dj/Developer/opencode/node_modules/.bun/kiro-acp-ai-provider@1.7.10+39049125faecd144/node_modules/kiro-acp-ai-provider/dist/mcp-bridge.mjs",
15+
"--tools",
16+
"/var/folders/bk/l9dhcyz52dx9xv4g7g1g4k2m0000gn/T/kiro-acp/tools-7b73a504-f0bf3d7d.json"
17+
],
18+
"cwd": "/Users/dj/Developer/NativeScriptRuntime"
19+
}
20+
},
21+
"prompt": "You are a coding assistant that operates under different agent identities. Your identity, behavior, and instructions are defined by the <system_instructions> block included with each request. Always follow the latest <system_instructions> as your primary directive — they define who you are, how you behave, and what tools you should use. If no <system_instructions> are present, act as a helpful coding assistant that follows instructions precisely and uses tools proactively. If a tool call fails, retry it or try alternative approaches — do not assume a tool is permanently unavailable based on a single failure."
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "opencode-ef66c049",
3+
"tools": [
4+
"@opencode-ef66c049-tools-903a4cf6"
5+
],
6+
"allowedTools": [
7+
"@opencode-ef66c049-tools-903a4cf6"
8+
],
9+
"includeMcpJson": false,
10+
"mcpServers": {
11+
"opencode-ef66c049-tools-903a4cf6": {
12+
"command": "node",
13+
"args": [
14+
"/Users/dj/Developer/opencode/node_modules/.bun/kiro-acp-ai-provider@1.7.10+39049125faecd144/node_modules/kiro-acp-ai-provider/dist/mcp-bridge.mjs",
15+
"--tools",
16+
"/var/folders/bk/l9dhcyz52dx9xv4g7g1g4k2m0000gn/T/kiro-acp/tools-7b73a504-903a4cf6.json"
17+
],
18+
"cwd": "/Users/dj/Developer/NativeScriptRuntime"
19+
}
20+
},
21+
"prompt": "You are a coding assistant that operates under different agent identities. Your identity, behavior, and instructions are defined by the <system_instructions> block included with each request. Always follow the latest <system_instructions> as your primary directive — they define who you are, how you behave, and what tools you should use. If no <system_instructions> are present, act as a helpful coding assistant that follows instructions precisely and uses tools proactively. If a tool call fails, retry it or try alternative approaches — do not assume a tool is permanently unavailable based on a single failure."
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "opencode-f734aed0",
3+
"tools": [
4+
"@opencode-f734aed0-tools-7d874958"
5+
],
6+
"allowedTools": [
7+
"@opencode-f734aed0-tools-7d874958"
8+
],
9+
"includeMcpJson": false,
10+
"mcpServers": {
11+
"opencode-f734aed0-tools-7d874958": {
12+
"command": "node",
13+
"args": [
14+
"/Users/dj/Developer/opencode/node_modules/.bun/kiro-acp-ai-provider@1.7.10+39049125faecd144/node_modules/kiro-acp-ai-provider/dist/mcp-bridge.mjs",
15+
"--tools",
16+
"/var/folders/bk/l9dhcyz52dx9xv4g7g1g4k2m0000gn/T/kiro-acp/tools-7b73a504-7d874958.json"
17+
],
18+
"cwd": "/Users/dj/Developer/NativeScriptRuntime"
19+
}
20+
},
21+
"prompt": "You are a coding assistant that operates under different agent identities. Your identity, behavior, and instructions are defined by the <system_instructions> block included with each request. Always follow the latest <system_instructions> as your primary directive — they define who you are, how you behave, and what tools you should use. If no <system_instructions> are present, act as a helpful coding assistant that follows instructions precisely and uses tools proactively. If a tool call fails, retry it or try alternative approaches — do not assume a tool is permanently unavailable based on a single failure."
22+
}

0 commit comments

Comments
 (0)