- 17 Mar, 2011 3 commits
-
-
dimich@chromium.org authored
Review URL: http://codereview.chromium.org/6708014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
* Reverse order of arguments in-object fields for length and callee. * Introduce arguments ThrowTypeError functions (caller/callee). * Create strict mode arguments boilerplate object. * Strict mode "new arguments object" stub. * Runtime arguments object allocation. * Update es5conform test expectations. Review URL: http://codereview.chromium.org/6698015/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
Review URL: http://codereview.chromium.org/6677036/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Mar, 2011 1 commit
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6690014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Mar, 2011 1 commit
-
-
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
-
- 15 Feb, 2011 1 commit
-
-
lrn@chromium.org authored
to handle exceptions on return from RegExp. BUG=1108 TEST= Review URL: http://codereview.chromium.org/6489001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Feb, 2011 1 commit
-
-
antonm@chromium.org authored
Direct call api functions (arm implementation) See: http://codereview.chromium.org/6170001/ Review URL: http://codereview.chromium.org/6286078 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Jan, 2011 1 commit
-
-
fschneider@chromium.org authored
This stub is used for increment/decrement operations and unary plus. The resulting code is more compact and faster than calling a JS builtin. Review URL: http://codereview.chromium.org/6350021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jan, 2011 2 commits
-
-
kmillikin@chromium.org authored
Revert this change again. Somewhat mysteriously we sometimes get empty contexts that we do not expect in the context chain. Review URL: http://codereview.chromium.org/6372013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Change the ARM exit frame to have the same layout as the IA32 exit frame. This basically re-arranges the order of fp and sp and changes the sp location of the entry frame to hold the sp used by the gc and not the sp for popping the arguments. This removes the option of tearing down the frame and returning using one ldm instruction. The main motivation for this is to avoid pushing an alignment word before generating the entry frame. The GC handling of optimized frames process the registers pushed as part of a safepoint and asumes that these are at the top of the frame, so if an alignment word is pushed this processing will be one off. The alignment handling in the C entry stub have also been simplified. Now the value of lr is stored to a stack slot already reserved avoiding pushing it and keeping track of "frame skew". This does result in more instructions in the exit frame on ARM, but we can look into improving this later. Review URL: http://codereview.chromium.org/6247019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jan, 2011 1 commit
-
-
kmillikin@chromium.org authored
This is svn r6415 with a bugfix. The bug was that we can have scopes with 0 heap slots (functions with such scopes do not need a local context) and scopes with at least Context::MIN_CONTEXT_SLOTS. The code generator only allocated a local context if there were strictly more than Context::MIN_CONTEXT_SLOTS. Before the change to with/arguments, it was impossible to actually get a function scope with exactly Context::MIN_CONTEXT_SLOTS because every such scope included a heap-allocated arguments (and arguments shadow) slot. Review URL: http://codereview.chromium.org/6248014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jan, 2011 1 commit
-
-
sgjesse@chromium.org authored
The the call of the builtin in InstanceofStub was not correctly protected with an internal frame leading to the return address being handled as a pointer during GC. Marked the Instanceof stub as allowing stub calls (the RecordWriteStub was removed some days ago). This issue was not caught by the assertion designed for this when debug mode is run with --debug-code (which out tests always does) as generating code for Abort set the allow stub calls flag to true. This has been fixed by restoring the allow stub calls flag correctly. Review URL: http://codereview.chromium.org/6097010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jan, 2011 1 commit
-
-
kmillikin@chromium.org authored
The comment was printing the entire minor key but labeling it with 'argc'. Review URL: http://codereview.chromium.org/6120001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jan, 2011 1 commit
-
-
sgjesse@chromium.org authored
If the instance of is performed against what is beliwed to be a constant global function inline the instance of check and have the call to the instanceof stub in deferred code. The inlined check will be patched by the instanceof stub when called from deferred code. This is indicated by the lithium instruction LInstanceOfKnownGlobal. To help the patching the delta from the return address to the patch site is placed just below the return address in the edi slot of the pushad/popad ares. This is safe because the edi register (which is pushed last) is a temporary for the lithium instruction. As the instanceof stub can call other JavaScript an additional marking for saving all double registers have been added. Also tweaked the instanceof stub to produce true/false objects instead of 0/1 for the case with deferred code. Review URL: http://codereview.chromium.org/5990005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Dec, 2010 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6021004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Dec, 2010 1 commit
-
-
sgjesse@chromium.org authored
The instanceoff stub now supports arguments in registers and checks for null, smi and string values without going to runtime. Needs porting to X64 and ARM. Review URL: http://codereview.chromium.org/5828004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Dec, 2010 1 commit
-
-
whesse@chromium.org authored
Mark TranscendentalCacheSSE2Stub as allowing internal stub calls. Mark pextrd instruction as requiring SSE 4.1. Review URL: http://codereview.chromium.org/5901001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Dec, 2010 1 commit
-
-
whesse@chromium.org authored
Reapply change 5989, adding untagged double calls to Math.pow, with problem in generated code for TranscendentalCacheSSE2Stub (unguarded SSE 4.1 code) fixed. Review URL: http://codereview.chromium.org/5726008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Dec, 2010 2 commits
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/5804003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/5741003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2010 3 commits
-
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Nov, 2010 1 commit
-
-
serya@chromium.org authored
Review URL: http://codereview.chromium.org/4695003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Nov, 2010 1 commit
-
-
serya@chromium.org authored
Review URL: http://codereview.chromium.org/4456002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Oct, 2010 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/3970005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Oct, 2010 1 commit
-
-
serya@chromium.org authored
Review URL: http://codereview.chromium.org/3965004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Sep, 2010 1 commit
-
-
fschneider@chromium.org authored
The stubs get an additional flag for including the smi code inside the stub. This allows us to generate more compact code if we don't want to inline the smi case outside the stub. Review URL: http://codereview.chromium.org/3388005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2010 1 commit
-
-
erik.corry@gmail.com authored
Clang compatibility changes. This is a commit of http://codereview.chromium.org/3364002 for coldredlemur git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Aug, 2010 1 commit
-
-
whesse@chromium.org authored
Remove dependence of code-stubs on codegen, the virtual frame code generator. Move some functions used by code-stubs and full-codegen from codegen to macro-assembler. Review URL: http://codereview.chromium.org/3169049 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Jun, 2010 1 commit
-
-
erik.corry@gmail.com authored
code. Review URL: http://codereview.chromium.org/2876011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Mar, 2010 1 commit
-
-
kaznacheev@chromium.org authored
This is a subset of a CL reviewed earlier(http://codereview.chromium.org/551093). The register usage optimisation part has been reviewed and submitted separately. Two fast cases supported: HeapNumber operands and String operands for ADD. Review URL: http://codereview.chromium.org/553117 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Feb, 2010 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/652041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Feb, 2010 1 commit
-
-
sgjesse@chromium.org authored
NumberToString in runtime JavaScript is inlined through a call to a stub. Currently the stub only checks the number string cache and only if the number is a smi. Code is shared with the inlining of number string cache lookup when adding a smi to a string. Review URL: http://codereview.chromium.org/604062 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Feb, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
all stubs have valid major_keys, and this is OK. So I've added a check to avoid termination in debug mode. Review URL: http://codereview.chromium.org/572034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jan, 2010 1 commit
-
-
serya@chromium.org authored
Review URL: http://codereview.chromium.org/543207 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Jan, 2010 1 commit
-
-
sgjesse@chromium.org authored
Careted a stub for string comparison and used part of the code from that to inline string comparison in the compare stub. Review URL: http://codereview.chromium.org/525115 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jan, 2010 1 commit
-
-
sgjesse@chromium.org authored
Added a stub to allocate and fill a string object with a substring from another string. Use the rep movs instruction to copy the string data as it turned out to be the fastest way. While preparing this I experimented with some SSE2 instructions, so the instructions movdqa and movdqu are still in the IA-32 assembler even though they are not used. Review URL: http://codereview.chromium.org/525085 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jan, 2010 1 commit
-
-
sgjesse@chromium.org authored
Calls to RegExp no longer have to be via a call to the runtime system. A new stub have been added which can handle this call in generated code. The stub checks all the parameters and creates RegExp entry frame in the same way as it is created by the runtime system. Bailout to the runtime system is done whenever an uncommon situation is encountered or when the static data used is not initialized. After running the native RegExp code the last match info is updated like in the runtime system. Currently only ASCII strings are handled. Added another argument to the RegExp entry frame. It indicated whether the call is direct from JavaScript code or through the runtime system. This information is used when RegExp execution is interrupted. If an interruption happens when RegExp code is called directly a retry is issued causing the interruption to be handled via the runtime system. The reason for this is that the direct call to RegExp code does not support garbage collection. Review URL: http://codereview.chromium.org/521028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Dec, 2009 1 commit
-
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/503079 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-