Issue metadata
Sign in to add a comment
|
Difference between fullcode and crankshaft_opt: native caller |
||||||||||||||||||||||||
Issue description
Note, repro only with --nocrankshaft and --always-opt, no idea if that makes sense.
# Minimized program:
var d = {};
foo = function() {
print(foo.caller);
}
d.valueOf = foo;
Number(d);
try {
} catch(e) {; }
# Compared nocrankshaft with noturbo_opt
# Flags of nocrankshaft:
--abort_on_stack_overflow --expose-gc --allow-natives-syntax --invoke-weak-callbacks --omit-quit --always-opt --random-seed 948182451 --nocrankshaft
# Flags of noturbo_opt:
--abort_on_stack_overflow --expose-gc --allow-natives-syntax --invoke-weak-callbacks --omit-quit --always-opt --random-seed 948182451 --always-opt --turbo-filter=~
Difference:
- null
+ function Number() { [native code] }
### Start of configuration nocrankshaft:
null
### End of configuration nocrankshaft
### Start of configuration noturbo_opt:
function Number() { [native code] }
### End of configuration noturbo_opt
,
Nov 18 2016
Further reduced:
var d = { valueOf : function() { print(d.valueOf.caller) }}
Number(d);
Number is lowered to ToNumber in TurboFan which makes caller not see the Number function.
,
Nov 18 2016
,
Dec 13 2016
,
Mar 13 2017
Ping, is this still an issue?
,
Mar 13 2017
,
Dec 11 2017
Fullcodegen and Crankshaft are gone.
,
Dec 11 2017
I don't see how your conclusion fits to comment 7. But I take "basically the same" as duplicate then?
,
Dec 12 2017
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by danno@chromium.org
, Nov 17 2016Owner: verwa...@chromium.org
Status: Assigned (was: Untriaged)