- 14 Jun, 2012 1 commit
-
-
fschneider@chromium.org authored
Each SharedFunctionInfo gets an optimized code map to store one optimized code object per context. When allocating a new closure we consult this map and check if there is optimized code that can be shared. This patch is based on an original patch by Anton Muhin (http://codereview.chromium.org/6793013/). BUG=v8:2087, v8:2094 TEST=test/mjsunit/compiler/optimized-closures.js Review URL: https://chromiumcodereview.appspot.com/10103035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jun, 2012 2 commits
-
-
vegorov@chromium.org authored
TBR=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/10543108 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Reimplement dynamic frame alignment for frames that are compiled via OSR or have more than 2 double spill slots. The first spill slot is now reserved on all optimized frames to distinguish frames that were aligned. Review URL: https://chromiumcodereview.appspot.com/10532066 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jun, 2012 1 commit
-
-
sanjoy@chromium.org authored
By passing around a Zone object explicitly we no longer need to do a TLS access at the sites that allocate memory from the current Zone. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10534006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2012 1 commit
-
-
fschneider@chromium.org authored
Landing for Rodolph Perfetta <rodolph.perfetta@gmail.com>. Original CL: http://codereview.chromium.org/9638018/ Review URL: https://chromiumcodereview.appspot.com/10197010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Apr, 2012 2 commits
-
-
fschneider@chromium.org authored
TBR=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/10190007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
BUG=none TEST=mjsunit/math-floor-of-div.js Landing for Rodolph Perfetta <rodolph.perfetta@gmail.com>. Review URL: https://chromiumcodereview.appspot.com/9638018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Apr, 2012 1 commit
-
-
danno@chromium.org authored
BUG=118686 Review URL: https://chromiumcodereview.appspot.com/9976003 Patch from Philippe Liard <pliard@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Mar, 2012 1 commit
-
-
vegorov@chromium.org authored
object space. Before, it was a link-list based look-up, and make this function a little bit 'hot' from profile point. BUG=v8:853 TEST= Review URL: https://chromiumcodereview.appspot.com/9634005 Patch from Zhongping Wang <kewpie.w.zp@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2012 1 commit
-
-
fschneider@chromium.org authored
This change includes two CLs by pliard@chromium.org: 1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation): Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted). This CL was initially reviewed on codereview.appspot.com: http://codereview.appspot.com/5687064/ 2. http://codereview.chromium.org/9455088/ (Remove static initializers in v8): This CL depends on CL 9447052 (adding CallOnce and LazyInstance). It is based on a patch sent by Digit. With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL. This CL also modifies the presubmit script to check the number of static initializers. BUG=v8:1859 Review URL: https://chromiumcodereview.appspot.com/9666052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Feb, 2012 1 commit
-
-
mstarzinger@chromium.org authored
R=vegorov@chromium.org,kmillikin@chromium.org Review URL: https://chromiumcodereview.appspot.com/9304001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Feb, 2012 1 commit
-
-
vegorov@chromium.org authored
Adds a new API where the host can supply a callback function. The callback function can resolve the location of a return address on stack to the location where a return-address rewriting profiler stashed the original return address. Review URL: https://chromiumcodereview.appspot.com/9401019 Patch from Sigurður Ásgeirsson <siggi@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Feb, 2012 1 commit
-
-
kmillikin@chromium.org authored
Instead of using two separate bits to encode three possible values, use three values to encode the three possible values. R=svenpanne@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9372016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jan, 2012 1 commit
-
-
vegorov@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9265004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jan, 2012 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/9139051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jan, 2012 1 commit
-
-
erik.corry@gmail.com authored
Add seed to hash of numeric keyed properties. This is a commit of http://codereview.chromium.org/9148006/ for Fedor Indutny. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Dec, 2011 1 commit
-
-
danno@chromium.org authored
Explicitly log generic stub transitions and the reason that they are happening. R=jkummerow@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/8803013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Nov, 2011 1 commit
-
-
keuchel@chromium.org authored
Both classes have been merged into a single ScopeInfo class that implements the functionality from both. This CL does not adapt the broken gdb-jit interface. Review URL: http://codereview.chromium.org/8352039 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Oct, 2011 1 commit
-
-
danno@chromium.org authored
Currently only traces transitions from generated ia32 code. BUG=none TEST=none Review URL: http://codereview.chromium.org/8357004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Oct, 2011 1 commit
-
-
kmillikin@chromium.org authored
Include it only in the .cc files where it's needed. R=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8117001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Sep, 2011 2 commits
-
-
vegorov@chromium.org authored
R=erik.corry@gmail.com Review URL: http://codereview.chromium.org/7980004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
object. Rename it to be the inner pointer to code cache. Review URL: http://codereview.chromium.org/7969013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Sep, 2011 1 commit
-
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/7945009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jul, 2011 1 commit
-
-
whesse@chromium.org authored
* src/third_party/valgrind/valgrind.h: Update from upstream valgrind r11899, so as to get around some unused value warnings. Also adds support for darwin. This version of valgrind.h differs from the original in that all instances of "unsigned long long int" have been replaced with "uint64_t", as the former is not allowed in ISO C++ 89. See https://bugs.kde.org/show_bug.cgi?id=211926 for the upstream bug report. * src/x64/cpu-x64.cc: * src/builtins.cc: * src/conversions-inl.h: * src/debug.cc: * src/frames.cc: * src/full-codegen.cc: * src/jsregexp.cc: * src/objects.cc: * src/parser.cc: * src/platform-linux.cc: * src/x64/code-stubs-x64.cc: * src/x64/deoptimizer-x64.cc: * src/x64/full-codegen-x64.cc: * src/x64/lithium-codegen-x64.cc: * src/x64/regexp-macro-assembler-x64.cc: * src/x64/stub-cache-x64.cc: Remove a number of assigned but unreferenced variables. * SConstruct (CCTEST_EXTRA_FLAGS): Punt on -Wunused-but-set-variable for the test suite. BUG=1291 TEST=A build and tools/test.py passes. Review URL: http://codereview.chromium.org/7400023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jul, 2011 1 commit
-
-
sgjesse@chromium.org authored
The preprocessor defines ENABLE_LOGGING_AND_PROFILING and ENABLE_VMSTATE_TRACKING has been removed as these where required to be turned on for Crankshaft to work. To re-enable reducing the binary size by leaving out heap and CPU profiler a new set of defines needs to be created. R=ager@chromium.org BUG=v8:1271 TEST=all Review URL: http://codereview.chromium.org//7350014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jul, 2011 1 commit
-
-
svenpanne@chromium.org authored
ZoneAllocationPolicy::New is not inlined anymore because this pulls in far too much stuff and doesn't really make any measurable performance difference. And no, the #includes are still not in alphabetical order... ;-) Review URL: http://codereview.chromium.org/7346006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jun, 2011 1 commit
-
-
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
-
- 24 May, 2011 1 commit
-
-
ager@chromium.org authored
Only IA32 version for now. I'll start porting. Strict mode functions are to get 'undefined' as the receiver when called with an implicit receiver. Modes are bad! It forces us to have checks on all function calls. This change attempts to limit the cost by passing information about whether or not a call is with an implicit or explicit receiver in ecx as part of the calling convention. The cost is setting ecx on all calls and checking ecx on entry to strict mode functions. Implicit/explicit receiver state has to be maintained by ICs. Various stubs have to not clobber ecx or save and restore it. CallFunction stub needs to check if the receiver is implicit when it doesn't know from the context. Review URL: http://codereview.chromium.org/7039036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Apr, 2011 1 commit
-
-
vegorov@chromium.org authored
In JavaScriptFrame::Print avoid printing optimized frame as if it is unoptimized. Review URL: http://codereview.chromium.org/6894043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Apr, 2011 1 commit
-
-
vegorov@chromium.org authored
Change caller_sp() to always point to the place after outgoing arguments. Change deoptimizer to use absolute stack slot addresses for deferred HeapNumber's materialization. (This is reapplication of r7504 with fix for mozilla testsuite failures). Review URL: http://codereview.chromium.org/6677164 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Apr, 2011 3 commits
-
-
vegorov@chromium.org authored
Deoptimization infrastructure implicitly uses caller_sp related addressing (where caller_sp is expected to point below outgoing arguments). TBR=kmillikin@chromium.org Review URL: http://codereview.chromium.org/6677160 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Change caller_sp() to always point to the place after outgoing arguments. Review URL: http://codereview.chromium.org/6720049 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Simplify isolates access during stack iteration (WAS: Move SafeStackFrameIterator::active_count_...) While trying to fix Mac and Windows versions for this change: http://codereview.chromium.org/6771047/, I figured out, that we already store an isolate in StackFrameIterator, so we can use it in frame objects, instead of requiring it from caller. I've changed iterators usage to the following scheme: whenever a caller maintains an isolate pointer, it just passes it to stack iterator, and no more worries about passing it to frame content accessors. If a caller uses current isolate, it can omit passing it to iterator, in this case, an iterator will use the current isolate, too. There was a special case with LiveEdit, which creates detached copies of frame objects. R=vitalyr@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/6794019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Apr, 2011 3 commits
-
-
vitalyr@chromium.org authored
It broke the Mac build. Sampler::SampleStack() can't use Isolate::Current() when called from the sampler thread (from SampleContext). We have to pass the isolate pointer. TBR=mikhail.naganov@gmail.com Review URL: http://codereview.chromium.org/6791014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
R=ager@chromium.org,vitalyr@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/6771047 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Fix %NewObjectFromBound to correctly handle optimized frames (including those with inlined functions). Fix %_IsConstructCall handling in hydrogen: when called from inlined function return false constant directly instead of emiting HIsConstructCall. Fix success case in TraceInline. BUG=v8:1229 TEST=test/mjsunit/regress/regress-1229.js Review URL: http://codereview.chromium.org/6740023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Mar, 2011 2 commits
-
-
ager@chromium.org authored
R=vitalyr@chromium.org Review URL: http://codereview.chromium.org/6717018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Get rid of the COUNTERS macro and fetch the counters from a locally stored isolate instead. R=karlklose@chromium.org Review URL: http://codereview.chromium.org/6723014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2011 2 commits
-
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-