- 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
-
- 30 Jun, 2011 9 commits
-
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/7290006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/7282033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
R=fschneider@chromium.org Review URL: http://codereview.chromium.org/7291001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
R=kmillikin@chromium.org BUG=1514 TEST=mjsunit/regress/regress-1513.js Review URL: http://codereview.chromium.org/7282029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
The catch variable is bound in the catch scope. For simplicity in this initial implementation, it is always allocated even if unused and always allocated to a catch context even if it doesn't escape. The presence of catch is no longer treated as a with. In this change, care must be taken to distinguish between the scope where a var declaration is hoisted to and the scope where the initialization occurs. R=ager@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7280012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Instead of generating two instructions and combining them at lithium translation using the EmitAtUses predicate, we generate the correct branch instruction right from the start. Review URL: http://codereview.chromium.org/7237024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Note that the MIPS part will need some similar changes, too. Review URL: http://codereview.chromium.org/7283042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
builtin replace and sort functions. R=ricow@chromium.org BUG=v8:1360 TEST=mjsunit/regress/regress-1360.js Review URL: http://codereview.chromium.org/7283006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Generalized Call macro instruction to handle AST IDs, too, making things more similar to the Intel assemblers. Removed unused methods. Minor signature cleanup. Simplified assertions. Review URL: http://codereview.chromium.org/7284029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jun, 2011 4 commits
-
-
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
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
-
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
-
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 4 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
-
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
-
- 27 Jun, 2011 2 commits
-
-
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
-
- 24 Jun, 2011 1 commit
-
-
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
-
- 23 Jun, 2011 1 commit
-
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/7207006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Jun, 2011 3 commits
-
-
whesse@chromium.org authored
The improvement is included in the port of r8367 to earlier versions of V8. Review URL: http://codereview.chromium.org/7229011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
BUG=v8:1407 TEST= Review URL: http://codereview.chromium.org/7231008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 21 Jun, 2011 1 commit
-
-
fschneider@chromium.org authored
We had two instructions HCompareJsObjectEq and HCompareSymbolEq that behave exactly the same. I removed one and renamed the remaining instruction into HCompareObjectEq. Review URL: http://codereview.chromium.org/7206040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2011 1 commit
-
-
jkummerow@chromium.org authored
Review URL: http://codereview.chromium.org/7170012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jun, 2011 1 commit
-
-
jkummerow@chromium.org authored
Review URL: http://codereview.chromium.org/7191007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jun, 2011 2 commits
-
-
karlklose@chromium.org authored
Review URL: http://codereview.chromium.org/7187007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
This reverts commit ceb31498b9d69edca3260820fb4047045891ce6d. TBR=kmillikin@chromium.org Review URL: http://codereview.chromium.org/7172030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jun, 2011 2 commits
-
-
vegorov@chromium.org authored
BUG=v8:1476 TEST=test/mjsunit/regress/regress-1476.js Review URL: http://codereview.chromium.org/7097015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
karlklose@chromium.org authored
Review URL: http://codereview.chromium.org/7167006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jun, 2011 1 commit
-
-
svenpanne@chromium.org authored
* AST Expression nodes get a separate testing ID to record type info in ToBooleanStub later. This is necessary to avoid clashes with other uses of already existing IDs. * In order to avoid threading the condition expression through tons of places, TestContexts carry it now with them. Note that we will probably only need the testing ID of the expression, but having the whole thing at hand makes debugging easier. Probably we will change this later... Review URL: http://codereview.chromium.org/7046073 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jun, 2011 3 commits
-
-
fschneider@chromium.org authored
This change makes the number of successors of a control instruction configurable with a template parameter and changes the existing instructions to use it. To iterate over all successors I added an iterator instead of always calling First- and SecondSuccessor. Review URL: http://codereview.chromium.org/7114004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=ager@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7044083 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
This flag has not bees set to false for years, and even when building without debugging support the position information is required for stack traces. R=ager@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org//7046078 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Jun, 2011 4 commits
-
-
kmillikin@chromium.org authored
In generated code, when walking the context to inspect context extension objects, use the previous context link directly. R=ager@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7044081 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Dispatch on ElementsKind rather than ExternalArrayType when generating ICs and Crankshaft code for many element operations. This is preparation to be able to share more code in the various element accessor implementations. Merge logic to maintain external array and fast element stub caches. BUG=none TEST=none Review URL: http://codereview.chromium.org/7112010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
duplicate code and the need for 2 free-floating function prototypes. Review URL: http://codereview.chromium.org/7134043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Instead of NULL in the previous field of function contexts, put the previous context. This saves the indirection of fetching the previous through the context's closure. R=ager@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7134042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-