- 11 Nov, 2011 3 commits
-
-
kmillikin@chromium.org authored
Original commit message: Add a level of indirection to exception handler addresses. To support deoptimization of exception handlers, the handler address in the stack is converted to a pair of code object and an index into a separate table of code offsets. The index part is invariant under deoptimization. The index is packed into the handler state field so that handler size does not change. R=vegorov@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8538011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
This reverts r9975. This change broke (at least) snapshots on x64. TBR=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8540005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
To support deoptimization of exception handlers, the handler address in the stack is converted to a pair of code object and an index into a separate table of code offsets. The index part is invariant under deoptimization. The index is packed into the handler state field so that handler size does not change. R=vegorov@chromium.org,fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8462010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Nov, 2011 1 commit
-
-
yangguo@chromium.org authored
BUG=v8:1808 TEST=cctest/test-hashing.cc Review URL: http://codereview.chromium.org/8512004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Nov, 2011 1 commit
-
-
kmillikin@chromium.org authored
This function is no longer needed. It was only used (overly defensively) when fetching the stack check stub for on-stack replacement patching. R=vegorov@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8510013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Oct, 2011 1 commit
-
-
kmillikin@chromium.org authored
Also, handlify functions for loading with interceptors and callbacks. Remove some unneeded code. Rename Foreign::address() because it confusingly shadows HeapObject::address() which does something quite different. R=vegorov@chromium.org,ulan@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8391045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Oct, 2011 1 commit
-
-
kmillikin@chromium.org authored
This function relies on a number of helpers for checking prototypes and probing dictionaries. It is not possible to wrap these helpers to retry after allocation failure in a safe way---the assembler has no way to undo what it has already assembled. These functions have all been duplicated with handle and raw versions. The raw versions will eventually be removed completely. R=ulan@chromium.org,vegorov@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8332003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Sep, 2011 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/8066008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Sep, 2011 1 commit
-
-
vegorov@chromium.org authored
Ensure that stubs are properly pregenerated on all platforms. R=erik.corry@gmail.com BUG=v8:1729 Review URL: http://codereview.chromium.org/8041035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Sep, 2011 2 commits
-
-
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
-
erik.corry@gmail.com authored
generation on ARM without VFP3. Review URL: http://codereview.chromium.org/7937004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Sep, 2011 1 commit
-
-
erik.corry@gmail.com authored
1) Don't make a call to C without having a valid frame on the stack. 2) Don't generate a call to a stub while generating a stub, unless we can be sure that the stub we are calling has already been generated (the stub generation code is not reentrant wrt. GC). Review URL: http://codereview.chromium.org/7891042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jul, 2011 1 commit
-
-
svenpanne@chromium.org authored
Using a C++-style method PrintName (a.k.a. << ;-), things get a lot easier when two unrelated concerns are separated. Stubs don't need a name cache anymore, simpler code while generating the stub name, memory allocation is centralized, etc. Review URL: http://codereview.chromium.org/7342042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Jul, 2011 1 commit
-
-
svenpanne@chromium.org authored
super-class handles the most common case already. Review URL: http://codereview.chromium.org/7332001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jul, 2011 1 commit
-
-
svenpanne@chromium.org authored
Only a single constructor is really needed. Make UnaryOp_Patch's arguments simpler, avoiding encoding/decoding things in a cryptic way. Review URL: http://codereview.chromium.org/7248063 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Jun, 2011 1 commit
-
-
svenpanne@chromium.org authored
The declaration of the ToBoolean class moved to the platform-independent part and its implementations are now structurally very similar. This is just an intermediate cleanup step to add type recording at the call site. Note that the MIPS implementation has not really been touched, so it should continue to work, too. Review URL: http://codereview.chromium.org/7218012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jun, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
Mainly, there were errors concerning blank lines before and after class access control sections [whitespace/blank_line]. BEFORE an access control section (e.g. public:, private:) there should be a blank line (except for the section right after the class declaration). AFTER an access control section there should be no blank line. TBR=ager@chromium.org git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 May, 2011 2 commits
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/7050039 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
into C++ without having a valid stack frame that can be traversed at GC. Also add asserts to track that we do not try to generate a stub while we are generating a stub, since the stub creation code is not GC safe. Review URL: http://codereview.chromium.org/7084032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 May, 2011 1 commit
-
-
fschneider@chromium.org authored
There is no need for this long name. Review URL: http://codereview.chromium.org/7063017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 May, 2011 1 commit
-
-
danno@chromium.org authored
Better support for 'polymorphic' JS and external arrays Allow keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub. There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps and dispatches to shared stubs to perform the array operation. Review URL: http://codereview.chromium.org/7036016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2011 2 commits
-
-
danno@chromium.org authored
TBR=danno@chromium.org git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Allow keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub. There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps. Currently, the only array types supported by the MEGAMORPHIC stub are fast elements for objects and JSArrays. BUG= TEST= Review URL: http://codereview.chromium.org/6894003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 May, 2011 1 commit
-
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/6973001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 May, 2011 1 commit
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6927044 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 May, 2011 2 commits
-
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/6932010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
In my previous change I mixed up "compare" and "equals". This made us miss the fast length check before comparing strings for equality. Now we have a separate helper for "equals". It shares some of the inner loop details with "compare". I'll see if this can be cleaned up without making it unreadable. Review URL: http://codereview.chromium.org/6928020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Apr, 2011 1 commit
-
-
svenpanne@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Apr, 2011 1 commit
-
-
jkummerow@chromium.org authored
BUG=None TEST=mjsunit/external-arrays.js; updated cctest; existing unit tests Review URL: http://codereview.chromium.org/6879009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2011 1 commit
-
-
vitalyr@chromium.org authored
o The type recording binary stub got a new type for string + string. o Added HStringAdd and LStringAdd based on the new type info. o Started using HValue types to avoid unneccesary checks. Review URL: http://codereview.chromium.org/6852015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Apr, 2011 1 commit
-
-
sgjesse@chromium.org authored
The type recording binary operations stub contained a number of issues which broke V8 when running without VFPv3 supoort. 1. The order of the high/low words of doubles in core register pairs where wrong 2. Missing allocation of a heap number for the result 3. Missing call to runtime Added the option for printing the double values in register pairs to the simulator. R=karlklose@chromium.org BUG=v8:1315 TEST= Review URL: http://codereview.chromium.org//6834020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Apr, 2011 1 commit
-
-
fschneider@chromium.org authored
All platforms are now using the TypeRecordingBinaryOpStub. I also removed the ARM IntegerModStub which was called from the GenericBinaryOpStub. Review URL: http://codereview.chromium.org/6826032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Mar, 2011 1 commit
-
-
vitalyr@chromium.org authored
This patch introduces global once per-process initialization and moves the OS and CPU setup there. This makes CPU features isolate-independent. Review URL: http://codereview.chromium.org/6670119 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Mar, 2011 1 commit
-
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/6744006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2011 3 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
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6685088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Mar, 2011 2 commits
-
-
danno@chromium.org authored
Worth mentioning: - Specialized versions of pixel array and store/loads inside the generic stubs have been removed, since to have parity for all external arrays, 8 different versions would have to be inlined/checked. - There's a new constant in v8.h for external arrays with pixel array elements. Review URL: http://codereview.chromium.org/6546036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Non-moveable code-stube are allocated in large object space. They are only required on ARM where the different C-entry stubs are required to never move. This gets rid of pre-computing these stubs and hope that they never move. Also for crankshaft the C-entry stub which saved doubles is not generated in the snapshot so it ends up being generated at runtime and potentially move. Review URL: http://codereview.chromium.org/6626072 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Mar, 2011 1 commit
-
-
karlklose@chromium.org authored
Review URL: http://codereview.chromium.org/6591073 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-