- 11 Feb, 2011 13 commits
-
-
mmaly@chromium.org authored
Strict mode assignment to undefined reference. Simple assignments (x = <value>) use CODE_TARGET_CONTEXT. StoreIC stores its own strictness in extra_ic_state. The strcitness is propagated as further ic stubs are generated. Details: * ReferenceError on assignment to non-resolvable reference in strict mode. * Fix es5conform test expectation file. * Add es5conform test suite into .gitignore. * Fix Xcode project. * Change implemented in virtual frame code generator, as well as full-codegen for all architectures. * Fix debugger test. * Fix comment for CODE_TARGET_CONTEXT * Implement remaining StoreIC stubs to be strict mode aware. * Trace extra_ic_state() for ic code stubs. Code Review URL: http://codereview.chromium.org/6474026/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
I'm seeing some crashes after this change which I need to investigate. Review URL: http://codereview.chromium.org/6486033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
BUG=v8:1132 TEST=test/mjsunit/regress/regress-1132.js Review URL: http://codereview.chromium.org/6487021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
http://code.google.com/p/chromium/issues/detail?id=72555erik.corry@gmail.com authored
value for Math.LOG10E Review URL: http://codereview.chromium.org/6489027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sandholm@chromium.org authored
Review URL: http://codereview.chromium.org/6485025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Before, Hydrogen call instructions had uses of the PushArgument instructions for their arguments. These operands were unneeded, bloated the IR, and caused calls to be the only Hydrogen instructions with an unpredictable number of operands. Now, PushArgument is a pure side-effecting instruction that has no uses. Review URL: http://codereview.chromium.org/6480030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This change introduces an instruction for negation instead of generating a multiplication with -1. The code for x64 and ARM is not included in this change. Review URL: http://codereview.chromium.org/6461021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sandholm@chromium.org authored
Review URL: http://codereview.chromium.org/6489028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Before, an attempt to delete a parameter in a function that used the arguments object in any way would succeed with true and delete both the parameter and the corresponding arguments object property. Now, an attempt to delete such a parameter does not delete and evaluates to false. Parameters can be deleted, as before, from functions that use the arguments object, by deleting the corresponding arguments object property (this is a spec violation). BUG=fixes v8:1136 Review URL: http://codereview.chromium.org/6484023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
There were a couple of bug fixes to this code on IA32 which have not yet been ported to ARM. They are: failure to correctly handle non-JSObject receivers and failure to restore the context register after calling JS code. Review URL: http://codereview.chromium.org/6479019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/6486028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
It's not generally safe to decide to delay the evaluation of an expression with side effects until it is used. BUG=v8:1138 Review URL: http://codereview.chromium.org/6474035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Feb, 2011 19 commits
-
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/6471023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
TBR: ager git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
BUG=v8::1129 TEST=test/mjsunit/regress/regress-1129.js Review URL: http://codereview.chromium.org/6476027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/6471025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
I discussed with Soeren, and they do need this on arm as well. Review URL: http://codereview.chromium.org/6478029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This fixes GC issues when in the threading tests. Review URL: http://codereview.chromium.org/6478026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
This should fix the flaky cctest failure on the debug run of x64 with crankshaft enabled. Review URL: http://codereview.chromium.org/6480032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
In the presence of JS accessors for elements on Object.prototype JSArray::SetFastElement may throw or its behaviour can be altered. Instead operate on plain FixedArrays and turn them into JSArry later. BUG=v8:1130 TEST=test/mjsunit/regress/regress-1130.js Review URL: http://codereview.chromium.org/6481001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/6480003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Do not do standard property lookup on hidden properties object as it might reach Object.prototype which can be altered to forge identity hashes. Instead do only local lookup. Review URL: http://codereview.chromium.org/6472001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
In the case where the function is not found in the global object, we have to generate a generic call. BUG=v8:1106 TEST=mjsunit/regress/regress-1106.js Review URL: http://codereview.chromium.org/6483010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
BUG=v8:1131 TEST=test/mjsunit/regress/regress-1131.js Review URL: http://codereview.chromium.org/6469006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Review URL: http://codereview.chromium.org/6410112 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Already done on ia-32. This change is for x64 and ARM. We now always require fixed input registers at calls to avoid overlap with temp registers. This fixes the affected instructions on ARM. Review URL: http://codereview.chromium.org/6471021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
We could try to treat an HPhi as an HInstruction because the code did not properly handle the case of a phi in a block with itself as one of the predecessors. BUG=v8:1134 Review URL: http://codereview.chromium.org/6471020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/6480027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Whenever we use a fixed temp at a call that can eagerly deopt we now allow fixed register exclusively to avoid any overlap. Review URL: http://codereview.chromium.org/6479014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Make esi available to the register allocator rather than dedicating it permanently to the context. The context is still passed in register esi to JavaScript and to the runtime as part of the calling convention. Because some stubs might end up calling JS or the runtime, it is also conservatively passed to stubs. Roughly half the calls have been modified to use the context as an input value in fixed register esi. The other half are marked as calls or deferred code so esi is spilled and can be explicitly set. It is no longer necessary to restore the context to esi after a call that might change it. Review URL: http://codereview.chromium.org/6452001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
As they are no more used in DevTools profiler, there is no need to prefix them with "devtools.profiler" namespace. Review URL: http://codereview.chromium.org/6456025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Feb, 2011 8 commits
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/6463022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
http://code.google.com/p/v8/source/detail?r=6555antonm@chromium.org authored
Compare JSObjects by identity immediately. When invoking EQUALS JS builtin, 1st argument is passed as a receiver and if it's a global object, it gets overwritten with global proxy object and thus one gets incorrect results. BUG=v8:1082 TBR=ricow@chromium.org Review URL: http://codereview.chromium.org/6461028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
If we have a property access of the form this.x, where the access site sees the global object, we can specialize the IC stub so that it performs a map check without first performing a heap object check. Ensure that we do not get in JS code with a non-JSObject this value by deoptimizing at Function.prototype.apply if the first argument is not a JSObject. BUG=v8:1128 Review URL: http://codereview.chromium.org/6463025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Make VS2005 project files compile without errors: changelist http://codereview.chromium.org/6286135/. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6459023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Change the comparison in the full code generator to use CompareIC instead of the CompareStub to record the types. This also implements the patching in the full code generator where the inlined smi code is de-activated by default to call the CompareIC once and then activating the inlined smi code by patching the code. Fixed the smi comparison in the ICCompareStub. Fixed ToBooleanStub to ensure that the scratch register used is not the input. Use r9 as default as that will never be input with Crankshaft. Implemented lithium instruction CmpTAndBranch. Make sure that the lithium instruction CmpID have operands in registrers as the current optimized code expects that. Review URL: http://codereview.chromium.org/6461017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
the code generated by the full code generator after my previous change. The generated code is the same as on ia32 and so is the patching. Review URL: http://codereview.chromium.org/6456023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/6458026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-