erik.corry@gmail.com [Tue, 11 Jan 2011 11:44:16 +0000 (11:44 +0000)]
Fix Solaris build. Patch from Ryan Dahl. See codereview.chromium.org/5968004/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 11 Jan 2011 11:41:01 +0000 (11:41 +0000)]
Remove duplicate members from some LIR instruction by using the HIR accessors.
Remove unused LOperands from keyed-loads. We do not have multiple representations
for load instructions anymore.
Correct number of output operands as for a couple of instructions form 1 to 0
because they do not produce a result (e.g. PushArgument)
Review URL: http://codereview.chromium.org/6158004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 11 Jan 2011 11:33:52 +0000 (11:33 +0000)]
X64 Crankshaft: Add LTemplatedInstruction and some derived classes to lithium-x64.cc.
Review URL: http://codereview.chromium.org/6128008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Tue, 11 Jan 2011 11:23:40 +0000 (11:23 +0000)]
Add more bailouts for Array.slice over arguments.
Unfortunately, arguments is pretty much the normal JS object. For now
I am adding more sanity checks (in hope that typically arguments
list is rather short.) However it probably requires more systematic
treatment, for example, we could optimistically copy elements until
we meet first hole and in this case resort to JS builtin.
Review URL: http://codereview.chromium.org/6062006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 11 Jan 2011 07:55:23 +0000 (07:55 +0000)]
Disable crashing mozilla test from bug 1032 on arm with crankshaft
Review URL: http://codereview.chromium.org/6127004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6255
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 10 Jan 2011 21:10:51 +0000 (21:10 +0000)]
Fix presubmit error - really
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6205003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 10 Jan 2011 21:03:48 +0000 (21:03 +0000)]
Fix presubmit error
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6206003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6253
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 10 Jan 2011 19:43:38 +0000 (19:43 +0000)]
Update the bits reserved for the gap size in the depotimization table
On ARM the a constant pool can be emitted during the gap code generation which leads to larger gap code size
BUG=v8:1018
Review URL: http://codereview.chromium.org/6125004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6252
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 10 Jan 2011 14:16:47 +0000 (14:16 +0000)]
Change the hydrogen timing data to include zone allocation.
Review URL: http://codereview.chromium.org/6190002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6249
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 10 Jan 2011 13:54:42 +0000 (13:54 +0000)]
Enable sharding of individual testsuites in tools/test.py
This patch enables two new flags for the tools/test.py script;
--shard-count - giving the ability to split the tests to be run
into shard-count chunks.
--shard-run - giving the ability to specify which of the shards to actually run.
Example
tools/test.py -j15 --shard-count=2 --shard-run=1 mozilla
would split the mozilla tests into two chunks and run the tests in the first chunk
Running:
tools/test.py -j15 --shard-count=2 --shard-run=1 mozilla
tools/test.py -j15 --shard-count=2 --shard-run=2 mozilla
is equivalent (in terms of test coverage) of just running:
tools/test.py -j15 mozilla
In addition, tests are now sorted before they are returned from the
test specific ListTests methods (sputnik and mozilla tests where
already sorted before they where returned).
This change is needed to split a single test suite over two slaves on
the waterfall.
Review URL: http://codereview.chromium.org/6127003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6248
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 10 Jan 2011 12:24:19 +0000 (12:24 +0000)]
ARM: Implement delete operation in lithium codegen.
I'm using the post call generator for the macro assembler
InvokeBuiltin call to be consistent with the ia32 version. It only
generates one call, but using the post call generator it should be
easier to catch if we change that at some point.
Review URL: http://codereview.chromium.org/6119004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 10 Jan 2011 12:19:15 +0000 (12:19 +0000)]
Split LInstruction into multiple variant to make our LIR more compact.
This change introduces LTemplateInstruction which is a specialized version
of LInstruction and takes one template parameter to indicate whether the
instruction produces a result operand.
All instruction that do not have a result inherit from LTemplateInstruction<0>.
Instructions that have a result operand from LTemplateInstruction<1>
All the Define* function only operate on instructions with a result.
For this to work I also refactored the places where we do
LInstruction* result = new Lxyy
into
Lxyz* result = new Lxyz
Review URL: http://codereview.chromium.org/6219001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 10 Jan 2011 12:01:28 +0000 (12:01 +0000)]
ARM: Set status for flaky test
BUG=v8:1032
TEST=Mozila ecma/Date/15.9.3.1-1.js
Review URL: http://codereview.chromium.org/6212002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Mon, 10 Jan 2011 11:44:54 +0000 (11:44 +0000)]
Simplify Join and speedup joining arrays of numbers.
Review URL: http://codereview.chromium.org/6173004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6243
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 10 Jan 2011 11:31:21 +0000 (11:31 +0000)]
Crankshaft: Move LParallelMove to lithium.h, add LGap to lithium-x64.h.
Review URL: http://codereview.chromium.org/6132002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 10 Jan 2011 10:22:26 +0000 (10:22 +0000)]
ARM: Mozilla test is now passing after r6236
BUG=Mozilla ecma/TypeConversion/9.2
TEST=v8:1023
Review URL: http://codereview.chromium.org/6210002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 10 Jan 2011 08:17:05 +0000 (08:17 +0000)]
Landing for Martin Maly.
Fix xcode project.
Add missing files (lithium.cc, lithium.h, lithium-x64.cc).
Add 64 bit targets to "All" targets group for Xcode build.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6239
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 10 Jan 2011 08:05:34 +0000 (08:05 +0000)]
Prepare push to trunk. Now working on version 3.0.8.
Review URL: http://codereview.chromium.org/6152002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 10 Jan 2011 08:04:30 +0000 (08:04 +0000)]
Landing for Martyn Capewell.
ARM: Fix comparison of NaN values.
Enables the cumulative exception flag when comparing values, and uses it to
detect NaN results.
BUG=1023
TEST=none
Code review URL: http://codereview.chromium.org/6142004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6236
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Mon, 10 Jan 2011 08:00:48 +0000 (08:00 +0000)]
Make better use of the %_FastAsciiArrayJoin function.
Review URL: http://codereview.chromium.org/6100005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6235
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 10 Jan 2011 07:59:13 +0000 (07:59 +0000)]
Landing for Martin Maly.
Implement DoCallKeyed for arm lithium compiler.
Code review URL: http://codereview.chromium.org/6139002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6234
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 10 Jan 2011 07:37:55 +0000 (07:37 +0000)]
Add failing test to expectations to get the bot greener
BUG=v8:1031
TEST=mozilla ecma/TypeConversion/9.2
Review URL: http://codereview.chromium.org/6146006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6233
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 10 Jan 2011 07:20:54 +0000 (07:20 +0000)]
Revert 6220 (generic descriptor support in Object.defineOwnProperty)
This change caused a webkit failure in http/tests/security/xss-DENIED-defineProperty.html.
I will look into this and reapply when I find a solution.
Review URL: http://codereview.chromium.org/6134005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 7 Jan 2011 14:27:32 +0000 (14:27 +0000)]
ARM: Fix lithium codegeneration of TypeofIs
The previous implementation was incomplete and wrong.
TBR=karlklose@chromium.org
Review URL: http://codereview.chromium.org/6113003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 7 Jan 2011 13:53:20 +0000 (13:53 +0000)]
Disable flaky test on x64 when running with --crankshaft.
mjsunit/compiler/simple-osr is flaky.
Disabling for now until we get osr in place on the x64 port.
Bug 1026 created to track this:
http://code.google.com/p/v8/issues/detail?id=1026
Review URL: http://codereview.chromium.org/6176001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 7 Jan 2011 13:52:36 +0000 (13:52 +0000)]
Speed up a regression test regress-3249650.js so it does not timeout.
Review URL: http://codereview.chromium.org/6175001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 7 Jan 2011 13:44:05 +0000 (13:44 +0000)]
ARM: Implement lithium codegen for DoTypeof, DoTypeofIs and DoSmiUntag
Review URL: http://codereview.chromium.org/6174001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Fri, 7 Jan 2011 13:21:34 +0000 (13:21 +0000)]
Aviod double checking IS_STRING when joining arrays.
Review URL: http://codereview.chromium.org/5977013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 7 Jan 2011 12:35:42 +0000 (12:35 +0000)]
Change interpretation of malformed \c? escapes in RegExp to match JSC.
Review URL: http://codereview.chromium.org/6171001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Fri, 7 Jan 2011 12:34:39 +0000 (12:34 +0000)]
ARM: Support DoCallGlobal in lithium code generator.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6094011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6224
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 7 Jan 2011 11:59:41 +0000 (11:59 +0000)]
Added a few new debugger tests.
Patch by Mark Lam from Hewlett-Packard Development Company, LP
Review URL: http://codereview.chromium.org/6035016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 7 Jan 2011 11:49:22 +0000 (11:49 +0000)]
Create platform-independent lithium files, move LGapResolver and LGapNode there
Review URL: http://codereview.chromium.org/6121001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 7 Jan 2011 11:49:09 +0000 (11:49 +0000)]
Landing for Peter Hallam
First cut at bug 992
Fixes JS portion of DefineOwnProperty when there is
an existing property and the new descriptor is generic.
Makes code follow spec steps more closely.
Fixes typo for check for unchanged enumerable in step 6.
Adds regression test.
Codereview url: http://codereview.chromium.org/6035014/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 7 Jan 2011 10:51:44 +0000 (10:51 +0000)]
Fix win64 build (int conversion)
Review URL: http://codereview.chromium.org/6083014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 7 Jan 2011 10:37:26 +0000 (10:37 +0000)]
Fix GC issue in instanceof stub
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
fschneider@chromium.org [Fri, 7 Jan 2011 10:36:27 +0000 (10:36 +0000)]
Revert r6194: Clean up code for type feedback a bit.
This causes a big performance regression. I'll investigate.
Review URL: http://codereview.chromium.org/6172001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 7 Jan 2011 10:06:28 +0000 (10:06 +0000)]
Move IsArgumentsMarker from class MaybeObject to Object.
Since we never need to ask it of a MaybeObject, put it with the other
oddball testers in class Object for consistency.
Review URL: http://codereview.chromium.org/6138004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6216
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 7 Jan 2011 09:47:16 +0000 (09:47 +0000)]
X64 Crankshaft: Implement some methods in LInstruction, update mjsunit test expectations.
Review URL: http://codereview.chromium.org/6118002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 7 Jan 2011 07:33:46 +0000 (07:33 +0000)]
ARM implementations of LoadElements, LoadKeyedFastElement, StoreNamedField, StoreKeyedFastElement.
BUG=none
TEST=none
Patch by Martyn Capewell from ARM Ltd.
Review URL: http://codereview.chromium.org/5967008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Thu, 6 Jan 2011 16:20:45 +0000 (16:20 +0000)]
Fix presubmit (r6209).
BUG=
TEST=
Review URL: http://codereview.chromium.org/6029012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 6 Jan 2011 15:53:56 +0000 (15:53 +0000)]
Use a separate marker value to allocate the arguments object on deoptimzation.
Before we used the hole value for this purpose, but this does not work once we
start using the hole value for other purposes in the optimizing compiler.
Review URL: http://codereview.chromium.org/6116001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6210
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Thu, 6 Jan 2011 15:25:03 +0000 (15:25 +0000)]
ARM: Support DoCheckInstanceType in lithium codegenerator.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6040008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 6 Jan 2011 14:13:40 +0000 (14:13 +0000)]
Fix disassembly comment for CallFunctionStub.
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
karlklose@chromium.org [Thu, 6 Jan 2011 14:02:46 +0000 (14:02 +0000)]
Use hydrogen accessor instead of copying members.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6119001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6206
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 6 Jan 2011 14:00:50 +0000 (14:00 +0000)]
Avoid calling inherited setters when creating object literals and their boilerplates.
Fix issue 1015.
Review URL: http://codereview.chromium.org/6118001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6205
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 6 Jan 2011 13:48:12 +0000 (13:48 +0000)]
Small change to stack checks in unoptimized code.
The stack checks include a loop nesting depth encoded in the code stream
after the call to the stack check stub. Change the code to jump around this
instruction as well as the call when the stack check is OK.
Review URL: http://codereview.chromium.org/6005014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 6 Jan 2011 13:29:22 +0000 (13:29 +0000)]
Fix errors in x64 crankshaft port, add failing tests to test expectations.
Review URL: http://codereview.chromium.org/6104004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6203
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 6 Jan 2011 13:27:10 +0000 (13:27 +0000)]
Fixed some tabs left in d8.js
TBR=mark.lam@palm.com
Review URL: http://codereview.chromium.org/6029011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6202
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 6 Jan 2011 13:14:32 +0000 (13:14 +0000)]
Misc debugger enhancements and bug fixes.
1. Added gdb style debugger commands (and their shortcuts) for d8.
These include:
- s[tep] : step into the current statement.
- s[tep]i[n]: step into the current statement with the minimum step.
- n[ext] : step to the next statement.
- fin[ish] : step out of the current function.
- cond : setting conditions on breakpoints.
- d[elete] : deletes breakpoints.
- en[able]|dis[able]: enables/disables breakpoints including
exception breakpoints.
- ignore : ignores a breakpoint for a specified period.
- inf[o] ar[gs] : info on arguments of the current function.
- inf[o] lo[cals] : info on local vars of the current function.
- inf[o] br[eakpoints] : info on breakpoints.
- l[ist] : similar to source, but allows the user to continually
dump subsequent lines of source code either in the
forward or backward direction.
- quit / exit / disconnect : terminates the remote debugger
session.
NOTE: Active breakpoints will automatically be disabled when
the remote debugger detaches. This allows v8 to continue to
run without worrying about a loss of a debugger session.
2. Added support for breaking the debugger by simply typing ENTER.
The break command is now optional.
3. Once the debugger is broken, the user can now just type ENTER
to repeat the last command. This is useful to functionality that
needs to be invoked repeatedly e.g. step, list.
4. Added more verbose descriptions in d8's help.
5. Fixed a line and column number offset bug in the listing of breakpoint
line and column numbers.
6. Added a gc command to allow GCs to be requested from the debugger
interface. The plumbing for requesting different types of GCs is
there, but the underlying implementation currently only triggers a
full mark-compact GC. The command also returns the before and after
sizes of the heap.
7. Added trace json, and flags commands that are not published in help.
trace json is used for tracing the debugger packets send from and
received by d8. flags is for setting v8 flags. These are useful for
people debugging v8 itself, but not necessarily users of v8.
8. Added the ability to enable and disable break on all / uncaught
exceptions in to d8.
9. Added a fix to prevent the Debugger Agent from being re-instantiated
if one already exists.
10. Added the ability to filter results of the script command by matching
text or numbers on the results.
11. Added v8 flags to enable/disable the sending of debugger BeforeCompile,
AfterCompile, and ScriptCollected events.
12. Fixed some undefined value bugs that resulted in v8 or the debugger
failing.
13. Added a few minor WEBOS__ customizations (analogous to ANDROID
customizations).
Patch by Mark Lam from Hewlett-Packard Development Company, LP
Review URL: http://codereview.chromium.org/5980006
Review URL: http://codereview.chromium.org/6086010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 6 Jan 2011 12:53:59 +0000 (12:53 +0000)]
Implement DoFunctionLiteral on ARM.
Review URL: http://codereview.chromium.org/6112001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6199
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 6 Jan 2011 12:41:41 +0000 (12:41 +0000)]
Instanceof slow case bind is incorrect.
Currently, the bind for the slow label is after the pushing of the
args registers which renders the args pushing dead code because there
is a Ret preceeding it. The comments also imply that the arg pushing
should be part of the InvokeBuiltins tail call.
Patch by Mark Lam from Hewlett-Packard Development Company, LP
Review URL: http://codereview.chromium.org/6107001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6198
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 6 Jan 2011 12:34:35 +0000 (12:34 +0000)]
Update test expectations
The functions with DIV/MOV can get optimized if typefeedback indicate to use a binary op stub.
Review URL: http://codereview.chromium.org/6117001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6197
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 6 Jan 2011 12:21:06 +0000 (12:21 +0000)]
ARM: Change a number of lithium instruction operands to be in registers
Using operands which could possible be in stack slots would require a load instruction anyway, so having the register allocator putting them into registers seems most logical.
Review URL: http://codereview.chromium.org/6046014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6196
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 6 Jan 2011 10:56:23 +0000 (10:56 +0000)]
ARM: Fix a bug in the lithium arguments support
Got the comparison wrong and fortot to actually set the flags.
Review URL: http://codereview.chromium.org/6085010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6195
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 6 Jan 2011 10:10:26 +0000 (10:10 +0000)]
Clean up code for type feedback a bit.
Remove unused functions and parameters and remove the parts of the
code that mention the old GenericBinaryOpStub. It is not used together
with Crankshaft and replaced with TypeRecordingBinaryOpStub.
Review URL: http://codereview.chromium.org/6075012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6194
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 6 Jan 2011 08:59:02 +0000 (08:59 +0000)]
Landing for Martin Maly.
Add x64 targets to the v8 Xcode project.
Move platform specific files into their own groups.
BUG=
TEST=
Code review URL: http://codereview.chromium.org/5958020/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6193
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 6 Jan 2011 08:56:29 +0000 (08:56 +0000)]
ARM: support regexp literals in lithium-codegen-arm. Also, update
comment on the AllocateInNewSpace macroassembler method.
Review URL: http://codereview.chromium.org/5965014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6192
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 6 Jan 2011 07:38:19 +0000 (07:38 +0000)]
Fix an bug in deoptimization after polymorphic calls in effect contexts.
For polymorphic calls (also loads and stores) we construct a type switch
graph that has a basic block merging all the variants. There is an
environment simulation before the goto at the end of all the predecessor
blocks. This simulation is used to define the environment on entry to the
successor block, and captures the return value of the call. In effect
contexts, this value should not be present in the environment.
The fix is to use the AST context to decide whether to have this value in
the join node's environment at all.
BUG=1014
Review URL: http://codereview.chromium.org/6065014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6189
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 6 Jan 2011 07:28:51 +0000 (07:28 +0000)]
ARM: support arguments access in lithium-codegen-arm.
Review URL: http://codereview.chromium.org/5989013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 5 Jan 2011 17:09:24 +0000 (17:09 +0000)]
Add deoptimization support to full-codegen-x64.cc (insert PrepareForBailout in many places.)
Review URL: http://codereview.chromium.org/6031014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 5 Jan 2011 14:19:12 +0000 (14:19 +0000)]
Fix bug in instanceof stub
If the instanceof stub was requested to deliver true/false objects as the result instead of 0/1 then 0/1 was actually returned if the builtin INSTANCE_OF ended up being called. This is now fixed.
BUG=v8:1020
TEST=test/mjsunit/regress/regress-1020.js
Review URL: http://codereview.chromium.org/6014013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6185
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 5 Jan 2011 14:03:38 +0000 (14:03 +0000)]
Revert r6180 as it caused test failures
TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/6080009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6183
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Wed, 5 Jan 2011 13:52:00 +0000 (13:52 +0000)]
Avoid double checking for IS_NUMBER by calling NonNumToNum instead of ToNumber
when the argument is known not to be a number.
Review URL: http://codereview.chromium.org/6061008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6181
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 5 Jan 2011 13:47:53 +0000 (13:47 +0000)]
Misc debugger enhancements and bug fixes.
1. Added gdb style debugger commands (and their shortcuts) for d8.
These include:
- s[tep] : step into the current statement.
- s[tep]i[n]: step into the current statement with the minimum step.
- n[ext] : step to the next statement.
- fin[ish] : step out of the current function.
- cond : setting conditions on breakpoints.
- d[elete] : deletes breakpoints.
- en[able]|dis[able]: enables/disables breakpoints including
exception breakpoints.
- ignore : ignores a breakpoint for a specified period.
- inf[o] ar[gs] : info on arguments of the current function.
- inf[o] lo[cals] : info on local vars of the current function.
- inf[o] br[eakpoints] : info on breakpoints.
- l[ist] : similar to source, but allows the user to continually
dump subsequent lines of source code either in the
forward or backward direction.
- quit / exit / disconnect : terminates the remote debugger
session.
NOTE: Active breakpoints will automatically be disabled when
the remote debugger detaches. This allows v8 to continue to
run without worrying about a loss of a debugger session.
2. Added support for breaking the debugger by simply typing ENTER.
The break command is now optional.
3. Once the debugger is broken, the user can now just type ENTER
to repeat the last command. This is useful to functionality that
needs to be invoked repeatedly e.g. step, list.
4. Added more verbose descriptions in d8's help.
5. Fixed a line and column number offset bug in the listing of breakpoint
line and column numbers.
6. Added a gc command to allow GCs to be requested from the debugger
interface. The plumbing for requesting different types of GCs is
there, but the underlying implementation currently only triggers a
full mark-compact GC. The command also returns the before and after
sizes of the heap.
7. Added trace json, and flags commands that are not published in help.
trace json is used for tracing the debugger packets send from and
received by d8. flags is for setting v8 flags. These are useful for
people debugging v8 itself, but not necessarily users of v8.
8. Added the ability to enable and disable break on all / uncaught
exceptions in to d8.
9. Added a fix to prevent the Debugger Agent from being re-instantiated
if one already exists.
10. Added the ability to filter results of the script command by matching
text or numbers on the results.
11. Added v8 flags to enable/disable the sending of debugger BeforeCompile,
AfterCompile, and ScriptCollected events.
12. Fixed some undefined value bugs that resulted in v8 or the debugger
failing.
13. Added a few minor WEBOS__ customizations (analogous to ANDROID
customizations).
Patch by Mark Lam from Hewlett-Packard Development Company, LP
Review URL: http://codereview.chromium.org/5980006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 5 Jan 2011 13:03:21 +0000 (13:03 +0000)]
Change a static_cast to BitCast
Hopefuly this will make the Win32 builder happy
TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/6038007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6179
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 5 Jan 2011 12:31:31 +0000 (12:31 +0000)]
Add private members to lithium classes on X64. Add implementation file lithium-x64.cc.
Review URL: http://codereview.chromium.org/6015014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6178
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 5 Jan 2011 12:28:47 +0000 (12:28 +0000)]
Add partially-implemented TypeRecordingBinaryOpStub to x64 platform.
Review URL: http://codereview.chromium.org/6084010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6177
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 5 Jan 2011 12:06:32 +0000 (12:06 +0000)]
Fix comparison bug on ARM.
Retrieves the result of VFP comparison from the VFP status register.
BUG=none
TEST=none
Patch by Martyn Capewell from ARM Ltd.
Review URL: http://codereview.chromium.org/6020014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6176
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 5 Jan 2011 12:01:53 +0000 (12:01 +0000)]
Fix the build breakge on x64 and ARM after r6173
The instanceof changes was not fully ported to x64 and ARM.
Review URL: http://codereview.chromium.org/6031013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6175
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 5 Jan 2011 11:25:42 +0000 (11:25 +0000)]
Do not transform a/b into a * (1/b) in the parser for integer constants.
Strength reduction should be performed at a later stage. This
change avoid going to a double representation the case of
integer division.
Review URL: http://codereview.chromium.org/6044010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6174
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 5 Jan 2011 11:17:37 +0000 (11:17 +0000)]
Optimize instanceof further
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
ricow@chromium.org [Wed, 5 Jan 2011 09:34:45 +0000 (09:34 +0000)]
Add exception for test-deoptimization/DeoptimizeBinaryOperationDIV
under arm with crankchaft.
This test assumes that a specific function is always optimized when
running with crankshaft, but we do not yet support this on arm.
Review URL: http://codereview.chromium.org/6102002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6168
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 5 Jan 2011 09:11:20 +0000 (09:11 +0000)]
Prepare push to trunk. Now working on version 3.0.7.
Review URL: http://codereview.chromium.org/6006011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6167
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 5 Jan 2011 09:04:06 +0000 (09:04 +0000)]
Implement ARM lithium support for ObjectLiteral.
Review URL: http://codereview.chromium.org/6099006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6166
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 4 Jan 2011 14:48:25 +0000 (14:48 +0000)]
Implement Lithium ARM support for ArrayLiteral.
TBR=kasperl@chromium.org
Review URL: http://codereview.chromium.org/5988008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6165
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 4 Jan 2011 14:35:34 +0000 (14:35 +0000)]
Fix presumbit error
TBR=karlklose@chromium.org
Review URL: http://codereview.chromium.org/6046012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6164
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 4 Jan 2011 14:35:01 +0000 (14:35 +0000)]
Remove unused policy from register allocator.
DefineSameAsAny is never used and currently does exactly the
same as DefineSameAsFirst.
Review URL: http://codereview.chromium.org/6025014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6163
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 4 Jan 2011 14:32:54 +0000 (14:32 +0000)]
Set a fixed scratch register for ARM code generation
r9 is now set as a fixed scratch register for ARM code generation. removed some unneeded allocation of temporary registers and use the scratch register instead.
Review URL: http://codereview.chromium.org/5976014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 4 Jan 2011 13:59:34 +0000 (13:59 +0000)]
Allow getters and setters on JSArray elements.
This fixes bug 900
Review URL: http://codereview.chromium.org/5959009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6158
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 4 Jan 2011 13:23:33 +0000 (13:23 +0000)]
Fix the Mac OS debug build
Review URL: http://codereview.chromium.org/6046010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6157
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 4 Jan 2011 13:14:39 +0000 (13:14 +0000)]
Fix tab in javascript file.
Review URL: http://codereview.chromium.org/6004009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6156
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Tue, 4 Jan 2011 13:02:51 +0000 (13:02 +0000)]
First part of lithium ARM port.
Implement LoadNamedField, CallConstantFunction, CmpMapAndBranch, JSArrayLength, BoundsCheck, IsNull, CallFunction, and CallStub in the ARM lithium codegenerator.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6069010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6155
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 4 Jan 2011 12:19:55 +0000 (12:19 +0000)]
Don't let JSON parsed objects hit inherited setters.
Review URL: http://codereview.chromium.org/6101001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 4 Jan 2011 12:14:10 +0000 (12:14 +0000)]
Add use_system_v8 option to gyp (off by default),
as discussed in http://groups.google.com/group/v8-users/browse_thread/thread/
33a69c51d8023ced
This will make it easier for Linux distributions
to ship with system-provided V8 library.
Patch by Pawel Hajdan, Jr. <phajdan.jr@chromium.org>
Review URL: http://codereview.chromium.org/6092006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6153
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 4 Jan 2011 12:11:01 +0000 (12:11 +0000)]
Fix Windows compilation
Use strncpy_s instaad of strncpy to avoid warning.
Review URL: http://codereview.chromium.org/6056006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6151
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 4 Jan 2011 12:07:16 +0000 (12:07 +0000)]
Fix compile-problem in (currently) unused stand-alone preparser function.
Allow object initializers to define getters using string and number literals.
Review URL: http://codereview.chromium.org/5985010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 4 Jan 2011 11:36:20 +0000 (11:36 +0000)]
Add constraints verification to LAllocator::MarkAsCall().
Review URL: http://codereview.chromium.org/6069012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 4 Jan 2011 11:28:17 +0000 (11:28 +0000)]
Fix presubmit error
TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/6093006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 4 Jan 2011 11:25:59 +0000 (11:25 +0000)]
Fix bug that happens when the first non-ASCII character of a literal is at a power-of-two position.
Review URL: http://codereview.chromium.org/6044009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6147
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 4 Jan 2011 11:02:58 +0000 (11:02 +0000)]
Addresses some performance regression in the GenericBinaryOpStub on ARM following Crankshaft introduction.
BUG=none
TEST=none
Patch by Rodolph Perfetta from ARM Ltd.
Review URL: http://codereview.chromium.org/5781010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6146
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 4 Jan 2011 11:02:39 +0000 (11:02 +0000)]
Avoid using std::string in Max OS platform file.
Review URL: http://codereview.chromium.org/6001012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6145
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 4 Jan 2011 10:25:06 +0000 (10:25 +0000)]
Fix presubmit error
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/6008010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6144
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 4 Jan 2011 09:50:35 +0000 (09:50 +0000)]
Cleanup of x64 code. Rearrange functions in ic-x64.cc to match order in ic-ia32.cc. Remove unused declarations, and move a constant to assembler-x64.h.
Review URL: http://codereview.chromium.org/6020012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6143
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 4 Jan 2011 09:27:46 +0000 (09:27 +0000)]
Export external array data accessors.
BUG=v8:1016
Review URL: http://codereview.chromium.org/6013011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6142
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 4 Jan 2011 09:09:50 +0000 (09:09 +0000)]
Added labelled thread names to help with some debugging activity. Right now,
the only platform that it works on is linux (using the prctl API to set the
names of the threads). Other platforms are setup to build properly if the
flag is set, but their thread names are not currently set.
Patch by Mark Lam from Hewlett-Packard Development Company, LP
Review URL: http://codereview.chromium.org/6070009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6141
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 4 Jan 2011 09:02:53 +0000 (09:02 +0000)]
Reorder the functions in stub-cache-x64.cc, so they are in the same order as in stub-cache-ia32.cc.
Review URL: http://codereview.chromium.org/6085006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6140
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 3 Jan 2011 19:16:29 +0000 (19:16 +0000)]
Move first_artificial_register_ initialization to the right place.
Review URL: http://codereview.chromium.org/6009010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6139
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 3 Jan 2011 17:02:15 +0000 (17:02 +0000)]
Remember required register kind when creating artificial virtual register.
Review URL: http://codereview.chromium.org/6065010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6138
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 3 Jan 2011 16:57:46 +0000 (16:57 +0000)]
Fix a bug in deoptimization environments.
The function HEnvironment::SetExpressionStackAt did not update the
environment's history. This function is used to patch the bailout
environment for count operations and global function calls.
Reorganize class HEnvironment to make it fit V8's style a bit better
and to try to add some sanity to which C++ functions are intended to
be inlined.
Remove the flag --trace-environment which merely duplicated data in
the hydrogen.cfg file except without enough context to be useful.
BUG=1004
Review URL: http://codereview.chromium.org/5992011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6137
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 3 Jan 2011 14:59:12 +0000 (14:59 +0000)]
Remove RecordWriteStub from X64 and ARM platforms.
Review URL: http://codereview.chromium.org/5986014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6136
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00