a2fcdc7cc8
Instead of counting profiler ticks on the shared function info (which is shared between native contexts), count them on the feedback vector (which is not). This allows us to continue pushing optimization decisions off the SFI, onto the feedback vector. Note that a side-effect of this is that ICs don't have to walk the stack to reset profiler ticks, as they can access the feedback vector directly from their feedback nexus. Change-Id: I232ae9e759fca75cd89d393148a4ff42caa2646f Reviewed-on: https://chromium-review.googlesource.com/544888 Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46411}
115 lines
2.1 KiB
Plaintext
115 lines
2.1 KiB
Plaintext
#
|
|
# Autogenerated by generate-bytecode-expectations.
|
|
#
|
|
|
|
---
|
|
wrap: no
|
|
test function name: f
|
|
|
|
---
|
|
snippet: "
|
|
var a = {x:13, y:14};
|
|
function f() {
|
|
return delete a.x;
|
|
};
|
|
f();
|
|
"
|
|
frame size: 1
|
|
parameter count: 1
|
|
bytecode array length: 11
|
|
bytecodes: [
|
|
/* 32 E> */ B(StackCheck),
|
|
/* 39 S> */ B(LdaGlobal), U8(0), U8(4),
|
|
B(Star), R(0),
|
|
B(LdaConstant), U8(1),
|
|
B(DeletePropertySloppy), R(0),
|
|
/* 58 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
a = {1:13, 2:14};
|
|
function f() {
|
|
'use strict';
|
|
return delete a[1];
|
|
};
|
|
f();
|
|
"
|
|
frame size: 1
|
|
parameter count: 1
|
|
bytecode array length: 11
|
|
bytecodes: [
|
|
/* 28 E> */ B(StackCheck),
|
|
/* 51 S> */ B(LdaGlobal), U8(0), U8(4),
|
|
B(Star), R(0),
|
|
B(LdaSmi), I8(1),
|
|
B(DeletePropertyStrict), R(0),
|
|
/* 71 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
var a = {x:13, y:14};
|
|
function f() {
|
|
return delete a;
|
|
};
|
|
f();
|
|
"
|
|
frame size: 2
|
|
parameter count: 1
|
|
bytecode array length: 16
|
|
bytecodes: [
|
|
/* 32 E> */ B(StackCheck),
|
|
/* 39 S> */ B(LdaImmutableCurrentContextSlot), U8(3),
|
|
B(Star), R(0),
|
|
B(LdaImmutableContextSlot), R(0), U8(2), U8(0),
|
|
B(Star), R(1),
|
|
B(LdaConstant), U8(0),
|
|
B(DeletePropertySloppy), R(1),
|
|
/* 56 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
b = 30;
|
|
function f() {
|
|
return delete b;
|
|
};
|
|
f();
|
|
"
|
|
frame size: 2
|
|
parameter count: 1
|
|
bytecode array length: 16
|
|
bytecodes: [
|
|
/* 18 E> */ B(StackCheck),
|
|
/* 25 S> */ B(LdaImmutableCurrentContextSlot), U8(3),
|
|
B(Star), R(0),
|
|
B(LdaImmutableContextSlot), R(0), U8(2), U8(0),
|
|
B(Star), R(1),
|
|
B(LdaConstant), U8(0),
|
|
B(DeletePropertySloppy), R(1),
|
|
/* 42 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|