- 29 Jun, 2011 18 commits
-
-
vitalyr@chromium.org authored
R=fschneider@chromium.org Review URL: http://codereview.chromium.org/7282011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Lots of web pages have really frequently firing timers that keep the profiler thread spinning if we require a period of JS inactivity before suspending the profiler. While it's possible to throttle it by increasing the sleep delay and adjusting the duration of the required inactive period, it seemed much simpler to just stop it immediately on exiting JS. Stopping the profiler this way effectively turned off two optimization heuristics: 1) eager optimization (it's reset on waking up the profiler and now the profiler wakes up much more frequently) and 2) optimization throttling based on JS to non-JS state ratio (the ratio is now 100%). I removed these two heuristics and found no performance regressions so far. R=ager@chromium.org BUG=crbug.com/77625 TEST=none Review URL: http://codereview.chromium.org/7274024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Review URL: http://codereview.chromium.org/7284011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Move the identification of the corresponding StatsCounter where it belongs, namely into the Code class. Use the null pattern to signal "no inlined Smi code". Removed a few unused counters. Review URL: http://codereview.chromium.org/7273066 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
R=ricow@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org//7250002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
TEST=Fewer deopts in existing tests. Review URL: http://codereview.chromium.org/7282007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
R=jkummerow@chromium.org BUG=v8:1473 TEST=none Review URL: http://codereview.chromium.org//7269002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Optimized frames are now handled by the debugger. When discovering optimized frames during stack inspection in the debugger they are "deoptimized" using the normal deoptimization code and the deoptimizer output information is used to provide frame information to the debugger. Before this change the debugger reported each optimized frame as one frame no matter the number of inlined functuions that might have been called inside of it. Also all locals where reported as undefined. Locals can still be reposted as undefined when their value is not "known" by the optimized frame. As the structures used to calculate the output frames when deoptimizing are not GC safe the information for the debugger is copied to another structure (DeoptimizedFrameInfo) which is registered with the global deoptimizer data and processed during GC. R=fschneider@chromium.org BUG=v8:1140 TEST=test/mjsunit/debug-evaluate-locals-optimized* Review URL: http://codereview.chromium.org//7230045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
R=ager@chromium.org Review URL: http://codereview.chromium.org/7282005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Review URL: http://codereview.chromium.org/7280005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sandholm@chromium.org authored
characters. Review URL: http://codereview.chromium.org/7241023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Gives ~20% boost for Crypto benchmark on A9. BUG=none TEST=added to mjsunit/div-mod.js Review URL: http://codereview.chromium.org//7276034 Patch from Martyn Capewell <m.m.capewell@googlemail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG=v8:1501 Review URL: http://codereview.chromium.org/7268002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/7218042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
http://codereview.chromium.org/7261008erik.corry@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
TBR=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7284004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
TEST= tools/test.py --shell d8 -v Review URL: http://codereview.chromium.org/7272028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Before: allocation of a catch or with context fetched the closure to store in the context from the previous context in the context chain. Now: the closure is passed explicitly. R=ager@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7275022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Jun, 2011 10 commits
-
-
kmillikin@chromium.org authored
Before: every context cached the nearest enclosing function context. This assumed that for nested contexts (i.e., with and catch contexts) the enclosing function had a materialized link in the context chain. Now: when necessary, we loop up the context chain to find such a context. This enables catch contexts without forcing the enclosing function to allocate its own context. R=ager@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7230047 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
The new approach uses one temp register instead of two on IA32. The ARM instructions are modified so the input can be UseAtStart again. Review URL: http://codereview.chromium.org/7274025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Where it's simple to do so (keyed calls, calls to unknown global variables, calls to local variables and non-property/non-variable expressions), end the live range of argument subexpressions immediately after the last use of the expression rather than at the call. R=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7274020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
BUG=v8:1246 TEST=regress-1246.js Review URL: http://codereview.chromium.org/7206019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Make sure that input and temp registers don't overlap. Review URL: http://codereview.chromium.org/7273026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
* src/hydrogen.cc (HEnvironment::CopyForInlining): As the code for both the ::HYDROGEN and ::LITHIUM compilation phases is the same, just use one code path and remove the arg. * src/hydrogen.h (HEnvironment): Remove now-unused CompilationPhase enum type and arg to CopyForInlining. * src/arm/lithium-arm.cc (LChunkBuilder::DoEnterInlined): * src/ia32/lithium-ia32.cc (LChunkBuilder::DoEnterInlined): * src/x64/lithium-x64.cc (LChunkBuilder::DoEnterInlined): Adapt callers. * AUTHORS: Add Igalia. BUG= TEST=I ran tools/test.py. Review URL: http://codereview.chromium.org/7272002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This inline runtime function had the wrong super class. It did not cause any problems since it is only used in our natives and never in a test context. Review URL: http://codereview.chromium.org/7253004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Ported r8429 (60a2787) BUG= TEST= Review URL: http://codereview.chromium.org//7276027 Patch from Paul Lind <plind44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Improve the branch and branch-trampoline mechanism to automatically use long-jumps when function size grows large. Reduce size of emitted trampoline pools. Now passes mozilla regress-80981.js. BUG= TEST= Review URL: http://codereview.chromium.org//7239020 Patch from Paul Lind <plind44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
GCC generates instructions such as movdqa that requires 16-byte alignment. R=ricow@chromium.org BUG=v8:1505 TEST= Review URL: http://codereview.chromium.org/7277031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Jun, 2011 6 commits
-
-
ager@chromium.org authored
R=sgjesse@chromium.org Review URL: http://codereview.chromium.org/7235025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
The receiver needs to be checked in the same way as all other KeyedLoadICs to take non-JSObject and objects that require access checks or has interceptors into account. R=sgjesse@chromium.org BUG=87478 TEST=mjsunit/regress/regress-crbug-87478.js Review URL: http://codereview.chromium.org/7259015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The hydrogen stack check instruction is now added to each loop and the stack check handling on the back edge has been removed. This change causes regression on small tight loops as the stack check is now at the top of the loop instead of at the bottom, and that requires one additional unconditional jump per loop iteration. However the reason for this change is to avoid worse regressions for upcoming changes to correctly support debugger break in optimized code. R=fschneider@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org//7216009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Ported r8420 (fd2ddbb) Original commit message: Detect the pattern in both, the full compiler and crankshaft and generate direct pointer comparisons. Along the way I cleaned up 'typeof <expression> == <string literal>' comparisons as well by lifting platform independent code and checking the symmetric case. BUG=v8:1440 TEST=cctest/test-api.cc Review URL: http://codereview.chromium.org//7262026 Patch from Paul Lind <plind44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/7240025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Per review comments in http://codereview.chromium.org/7238020 after issue was closed, we had used an un-necessary Add, which is removed here. Thanks for the suggestion. BUG= TEST= Review URL: http://codereview.chromium.org//7259010 Patch from Paul Lind <plind44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jun, 2011 6 commits
-
-
yangguo@chromium.org authored
and got rid of the utility context unless interactive shell is used Review URL: http://codereview.chromium.org/7219003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
cira@chromium.org authored
Change timeType and dateType in i18n date format API into timeStyle and dateStyle to match the proposal. I've kept old keys too, until ChromeOS user switches to time/dateStyle. Fixed regex for matching styles in date and number format. TEST=i18n.kaziprst.org/datetimeformat.html should show proper results for both timeType and timeStyle. Review URL: http://codereview.chromium.org/7244008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
Review URL: http://codereview.chromium.org/7237027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
BUG=86442 TEST=mjsunit/keywords-and-reserved_words.js Review URL: http://codereview.chromium.org/7207007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
Detect the pattern in both, the full compiler and crankshaft and generate direct pointer comparisons. Along the way I cleaned up 'typeof <expression> == <string literal>' comparisons as well by lifting platform independent code and checking the symmetric case. BUG=v8:1440 TEST=cctest/test-api.cc Review URL: http://codereview.chromium.org/7216008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sandholm@chromium.org authored
Review URL: http://codereview.chromium.org/7237023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-