Difference between fullcode and crankshaft_opt: plain arguments |
||||
Issue description
# Minimized program:
function foo(x) {
(function() { x = {}; })()
return arguments[0];
}
print(foo(42));
# Compared nocrankshaft with noturbo_opt
# Flags of nocrankshaft:
--abort_on_stack_overflow --expose-gc --allow-natives-syntax --invoke-weak-callbacks --omit-quit --random-seed 148659640 --nocrankshaft
# Flags of noturbo_opt:
--abort_on_stack_overflow --expose-gc --allow-natives-syntax --invoke-weak-callbacks --omit-quit --random-seed 148659640 --always-opt --turbo-filter=~
Difference:
- [object Object]
+ 42
### Start of configuration nocrankshaft:
[object Object]
### End of configuration nocrankshaft
### Start of configuration noturbo_opt:
42
### End of configuration noturbo_opt
,
Nov 7 2016
Thanks
,
Nov 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/7f801ff35bfd8eac6fc0e64a1b12471ba90f7ad8 commit 7f801ff35bfd8eac6fc0e64a1b12471ba90f7ad8 Author: jarin <jarin@chromium.org> Date: Mon Nov 07 19:09:22 2016 [crankshaft] Do not optimize argument access if any parameter is context-allocated. Note: This CL might regress code that relies on such arguments access. In that case, we could still optimize the access if it accesses at constant index (and the argument at that index is not context-allocated). If any code relies on a general access to context-allocated arguments, we would need to analyze the function for assignment to the arguments - this might be quite tricky. BUG= chromium:662845 Review-Url: https://codereview.chromium.org/2484723002 Cr-Commit-Position: refs/heads/master@{#40813} [modify] https://crrev.com/7f801ff35bfd8eac6fc0e64a1b12471ba90f7ad8/src/crankshaft/hydrogen.cc [modify] https://crrev.com/7f801ff35bfd8eac6fc0e64a1b12471ba90f7ad8/src/crankshaft/hydrogen.h [add] https://crrev.com/7f801ff35bfd8eac6fc0e64a1b12471ba90f7ad8/test/mjsunit/regress/regress-662845.js
,
Nov 14 2016
,
Dec 13 2016
|
||||
►
Sign in to add a comment |
||||
Comment 1 by jarin@chromium.org
, Nov 7 2016