- 17 Jan, 2011 9 commits
-
-
ager@chromium.org authored
emitted as part of the safepoint tables. Always emit the constant pool as part of generating deferred code (whether or not there actually is any deferred code) and ASSERT that there is no pending relocation info while using db and dd to write tables. Review URL: http://codereview.chromium.org/6360003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This change introduces the third template parameters for LIR instructions to specify the number of temp-operands. This is one step towards removing the instruction-summaries. I also added hydrogen-accessors in more places and refactored the LIR-branch instructions to have common super-classes to avoid code duplication. Added MUST_USE_RESULT to the functions that record uses and definitions so that all LOperands are stored in the LIR instructions (and not only in the summaries). Review URL: http://codereview.chromium.org/6237002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Instead of spilling and then immediately restoring eax to resolve memory to memory moves, the gap move resolver now tracks registers that are known to be free and uses one if available. If not it spills but restores lazily when the spilled value is needed or at the end of the algorithm. Instead of using esi for resolving cycles and assuming it is free to overwrite because it can be rematerialized, the gap move resolver now resolves cycles using swaps, possibly using a free register as above. The algorithm is also changed to be simpler: a recursive depth-first traversal of the move dependence graph. It uses a list of moves to be performed (because it mutates the moves themselves), but does not use any auxiliary structure other than the control stack. It does not build up a separate list of scheduled moves to be interpreted by the code generate, but emits code on the fly. Review URL: http://codereview.chromium.org/6263005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/6354006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
When processing register contraints we used to add writable input operands also as temp operands to the same instruction. This does not seem necessary since we create a fresh virtual register for writable inputs and insert a definition in the gap before the instruction. Review URL: http://codereview.chromium.org/6350002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Previously we delayed the throwing of syntax errors until runtime, so unreachable errors didn't get reported. To match a change in JSC, we now stop parsing and report the error immediately. BUG=69736 TEST= Review URL: http://codereview.chromium.org/6355006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Currently only closures which only read from the context are supported. Review URL: http://codereview.chromium.org/5753005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
ARM: Implement DoInteger32ToDouble in lithium codegen. Clean up temporary register use. Code review URL: http://codereview.chromium.org/6257003/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
As invocation of a functin may trigger GC and hence clear all the caches, it's hard to ensure previous invariants. Current invariant is both a key and a value should be the holes or not holes. Review URL: http://codereview.chromium.org/6309004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jan, 2011 1 commit
-
-
sandholm@chromium.org authored
Review URL: http://codereview.chromium.org/6335004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jan, 2011 24 commits
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6342003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6362001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The restoring of FPSCR could restore a random value as the restore point could be jumped to from before FPSCR was loaded. Review URL: http://codereview.chromium.org/6344002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
TBR=ager BUG= TEST= Review URL: http://codereview.chromium.org/6359001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6295004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6290004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/6258004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6247006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/6326003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
threaded test is not a good idea as it has an effect on other tests. Review URL: http://codereview.chromium.org/6273004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
to avoid leaking of error objects to accessor methods when formatting error messages internally. Also, do not call overwritten toString methods on error objects when formatting messages internally. Review URL: http://codereview.chromium.org/6272004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
This change is in preparation for introducing platform-specific strategies for resolving parallel moves. Review URL: http://codereview.chromium.org/6324003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
podivilov@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
podivilov@chromium.org authored
Review URL: http://codereview.chromium.org/6261009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/6353002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
BUG= TEST= Review URL: http://codereview.chromium.org/6314003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/6257002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6148007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
We heuristically expect those functions to be called immediately. Review URL: http://codereview.chromium.org/6311005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
We don't advance the input cursor past the end of input, so we shouldn't decrease it when we pushback the kEndOfInput marker. Review URL: http://codereview.chromium.org/6246004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/6326002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This puts us very close to being able to compile the empty function. This changes only has a small number of 64 bit specific assembler instructions. The remaining changes are much more platform specific and will go in another change. Review URL: http://codereview.chromium.org/6247005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This instruction does not produce a result. We don't need a result LOperand for it. Review URL: http://codereview.chromium.org/6306001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
This change provides fast code for a few special cases and calls the GenericBinaryOpStub for the rest. It also changes the register allocation in the generation of lithium instructions to use fixed registers that are compatible with the generic stub. This allocation can be change once we use a more flexible implementation. Finally, this change provides infrastructure to save double registers at safepoints, which is need to call the stub in deferred code. BUG= TEST= Review URL: http://codereview.chromium.org/6164005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jan, 2011 6 commits
-
-
podivilov@chromium.org authored
Review URL: http://codereview.chromium.org/6301001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
On 32-bit platforms any pointer with 0 as LSB can be wrapped into Smi. However, on 64-bit platforms it's currently not the case as x64 Smis must have 0s in lower 32 bit word. Even worse, macroassembler Move instruction will try to fetch integer value from Smi and will shift by 32 bits to the right rendering stored pointer incorrect. BUG=v8:1037 Review URL: http://codereview.chromium.org/6119009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
This a preparatory step to support fast function calls on primitive values. Not really used yet in hydrogen. Review URL: http://codereview.chromium.org/6263001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
32 bit code. Review URL: http://codereview.chromium.org/6249002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Implementing Math.floor and Math.sqrt for crankshaft. BUG=none TEST=none Code review URL: http://codereview.chromium.org/6250002/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Small tweaks to make X64 compliant. A few UNIMPLEMENTED left, but most empty functions call Abort to bail out. Review URL: http://codereview.chromium.org/6201006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-