sgjesse@chromium.org
a453a3ce65
ARM: Add multiplication and modulus to the type recording binary operation stub.
...
For now the smi part only handles power of two right hand side operands.
Fixed a bug when loading floating point value into core registers with VFP supported.
Review URL: http://codereview.chromium.org/6312059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-01 16:38:25 +00:00
mmaly@chromium.org
72b1d0c747
Fix Xcode project.
...
TBR=ager@chromium.org
Code review URL: http://codereview.chromium.org/6286016/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-01 16:20:04 +00:00
mmaly@chromium.org
a0c96dc3fb
Fix error message name.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-01 16:08:44 +00:00
vegorov@chromium.org
03e1036fde
Fix control flow resolution bug in lithium register allocator.
...
Review URL: http://codereview.chromium.org/6312057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-01 14:33:23 +00:00
antonm@chromium.org
32a631d8bc
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
Review URL: http://codereview.chromium.org/6287018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-01 13:29:37 +00:00
antonm@chromium.org
93f8e3d821
Temporary disable comparison of optimizability of code objects in some cases.
...
With crankshaft, a code object can change its optimizability: it can start as
optimizable code object, but later we can find out it was a bad idea to
optimize it. Alas, currently we don't have a proper event to communicate
this back to logger. Hence we temporary allow a code object to be viewed
as optimizable judging from logs while being unoptimizable judging from
heap traversal.
Review URL: http://codereview.chromium.org/6250054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-01 12:39:02 +00:00
ager@chromium.org
471c0d2983
Avoid callbacks to user code during error formatting in a couple of
...
other situations.
Do not use overwritten Object.prototype.hasOwnProperty and
Array.prototype.pop. Do not use split and join in the error formatting
implementation. They are too big to control and their generality is
not needed.
Review URL: http://codereview.chromium.org/6287041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-01 12:31:16 +00:00
karlklose@chromium.org
5264d17d8f
Change OSR stack check patching to use the stack check table.
...
Change OSR stack check patching to use the stack check table to iterate over the calls to stack guards platform independent. Introduce Deoptimizer::PatchStackCheckAt for each platform to perform the platform specific patch at a given pc.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6392027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-01 11:18:45 +00:00
mmaly@chromium.org
aa779b3842
Fix V8 bug 1084: allow "\0" in strict mode as valid escape sequence.
...
http://code.google.com/p/v8/issues/detail?id=1084
Code Review URL: http://codereview.chromium.org/6386014/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-31 22:35:27 +00:00
antonm@chromium.org
a38a8ffab0
ArraySplice builtin should return empty array and not alter receiver if invoked with no arguments.
...
Review URL: http://codereview.chromium.org/6357025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-31 14:54:53 +00:00
antonm@chromium.org
1023f569b9
Perform security checks before fetching the value in Object.getOwnPropertyDescriptor.
...
Review URL: http://codereview.chromium.org/6386022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-31 13:49:15 +00:00
antonm@chromium.org
65465f5228
Add entries for build products of OOM dump utility into .gitignore.
...
Review URL: http://codereview.chromium.org/6409008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-31 13:33:09 +00:00
whesse@chromium.org
cc90e3e54b
Fix typo in Changelog, date in version.cc.
...
Review URL: http://codereview.chromium.org/6287016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-31 12:37:19 +00:00
fschneider@chromium.org
4e7ddab6dc
Fix a bug in the placement of minus-zero checks and in GVN.
...
1. The placement of checks for negative zero has to be computed after
all conversion instructions have been inserted. I separated the code
into its own phase.
2. GVN need to take instruction flags into account when comparing
instructions for redundancy.
Review URL: http://codereview.chromium.org/6260035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-31 12:36:54 +00:00
whesse@chromium.org
09368a0af6
Prepare push to trunk. Now working on version 3.1.1.
...
Review URL: http://codereview.chromium.org/6347035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-31 10:25:44 +00:00
ager@chromium.org
8198db7934
ARM: Add support for DoMathAbs with double inputs.
...
Adds vabs instruction to simulator, assembler, disassembler and tests.
BUG=none
TEST=Added to cctest.
Review URL: http://codereview.chromium.org/6366016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-31 10:16:28 +00:00
ager@chromium.org
0a9004aa07
Adding vendor prefix to Locale class (becoming v8Locale) to minimize risk of future changes.
...
Review URL: http://codereview.chromium.org/6332022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-31 09:58:12 +00:00
fschneider@chromium.org
e3366d8bf5
Fix bug in tail call of builtin in the ToNumber stub on ARM.
...
Review URL: http://codereview.chromium.org/6255017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-28 17:24:10 +00:00
kmillikin@chromium.org
78b9981b90
Revert "Add custom typed ICs for pixel array loads. "
...
This change caused failures in (out of bounds) keyed loads of strings.
TBR'd.
Review URL: http://codereview.chromium.org/6298019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-28 15:07:04 +00:00
fschneider@chromium.org
24843d6310
Introduce ToNumber stub and use it in non-optimized code for to-number conversion.
...
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
2011-01-28 14:18:26 +00:00
danno@chromium.org
afd0906204
Add custom typed ICs for pixel array loads.
...
Review URL: http://codereview.chromium.org/6323002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-28 14:06:20 +00:00
antonm@chromium.org
3d4c4951aa
Clarify some details of global objects implementation.
...
Review URL: http://codereview.chromium.org/6386011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-28 13:41:19 +00:00
ager@chromium.org
f8b74a1541
Avoid using Function.prototype.call in a number of places in our
...
builtins files. We should always use %_CallFunction for a couple of
reasons: it cannot be overwritten and it does not wrap basic types in
wrapper objects.
Review URL: http://codereview.chromium.org/6349018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-28 10:33:10 +00:00
ager@chromium.org
4968d50d8f
Prepare push to trunk. Now working on version 3.1.0.
...
Review URL: http://codereview.chromium.org/6286014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-28 07:55:43 +00:00
antonm@chromium.org
c5c4f0eda5
Revert "Unification: introduce ExternalReference::pending_exception_address()."
...
This reverts r6518.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6359015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 18:21:07 +00:00
antonm@chromium.org
bea909a9bf
Unification: introduce ExternalReference::pending_exception_address().
...
Review URL: http://codereview.chromium.org/6335016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 18:10:45 +00:00
ricow@chromium.org
b4a2e91d45
Implement DoGlobalReceiver and DoCheckFunction lithium instructions on x64
...
Review URL: http://codereview.chromium.org/6277024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 16:41:43 +00:00
antonm@chromium.org
1c144edd95
Do not set result_ prematurely.
...
If ConfigureGlobalObjects below will fail, we still decide that initialidation
went smoothly as we check emptiness of result_ handle to see if initialisation
failed or not.
Review URL: http://codereview.chromium.org/6347021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 16:17:13 +00:00
antonm@chromium.org
67f3a0e7f5
Better name for ShouldReturnException which actually should be ShouldReportException.
...
Review URL: http://codereview.chromium.org/6368019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 14:25:37 +00:00
fschneider@chromium.org
d82332ebb7
Cleanup unused code from the type oracle.
...
Review URL: http://codereview.chromium.org/6135004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 14:04:07 +00:00
vegorov@chromium.org
af81c537b2
Fix id for HandleScope::DeleteExtensions and Factory::arguments_marker() in serializer.
...
Review URL: http://codereview.chromium.org/6357020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 13:17:34 +00:00
lrn@chromium.org
35a85c1b06
X64 Crankshaft: Added yet more operations.
...
Added operations:
DoStoreGlobal
DoLoadNamedField
DoStoreNamedField
DoCheckPrototypeMaps
DoEnterInlined
Review URL: http://codereview.chromium.org/6308019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 13:02:48 +00:00
sgjesse@chromium.org
579e711389
Fix test expectations from r6509
...
Review URL: http://codereview.chromium.org/6286011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 12:31:24 +00:00
lrn@chromium.org
4f11447073
X64 Crankshaft: Reapply reverted operations with DoLoadGlobal disabled.
...
Review URL: http://codereview.chromium.org/6397002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 11:58:31 +00:00
sgjesse@chromium.org
3e811483f2
Change an invalid assert
...
BUG=v8:1079
Review URL: http://codereview.chromium.org/6332019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 11:55:58 +00:00
ager@chromium.org
dc61921bbf
Fix reintroduction of global variables that have been deleted.
...
Deletion of global properties puts 'the hole' in the global property
cell and updates the property details in the property dictionary with
the information that the property has been deleted. When setting
global properties that have been deleted in generated code we just
store the new value in the global property cell. This does not update
the property details in the property dictionary. Therefore, it looks
like the property is not there eventhough it was just reintroduced.
Perform 'the hole' checks in generated code for global property stores
and bail out of ICs and optimized code if storing to a property cell
that contains 'the hole'.
Review URL: http://codereview.chromium.org/6306014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 08:35:39 +00:00
karlklose@chromium.org
592089419d
ARM: Implement DoInstanceOfAndBranch in the lithium code generator.
...
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6364007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-27 03:22:08 +00:00
sgjesse@chromium.org
4c6329c8f8
ARM: Try to fix broken commit r6504
...
Commit contained wrong assert and was missing call to the runtime system for MUL.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6338019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 21:15:46 +00:00
karlklose@chromium.org
3141494c3e
Refactor recording of safepoints.
...
Refactor SafepointTableBuilder::DefineSafepoint and ARM LCodeGen::RecordSafepoint to use an enum for different kinds of safepoints. This change removes a lot of duplicated code and makes it easier to include new kinds of safepoints in the future. The remaining variants of LCodeGen::RecordSafepoint remain as a convinient way to record common safepoint kinds.
BUG=http://code.google.com/p/v8/issues/detail?id=1043
TEST=none
Review URL: http://codereview.chromium.org/6341008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 20:48:48 +00:00
sgjesse@chromium.org
33c591b4ad
ARM: Add multiplication to the type recording binary operation stub
...
Review URL: http://codereview.chromium.org/6391004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 20:25:33 +00:00
mmaly@chromium.org
d07f1d62ff
Strict mode eval/arguments LHS.
...
Review URL: http://codereview.chromium.org/6335013/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 19:21:46 +00:00
mmaly@chromium.org
498e3ce3cc
Compress Variable class.
...
Review Link: http://codereview.chromium.org/6246019/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 18:15:43 +00:00
mmaly@chromium.org
55400c2454
Strict mode: function constructor tests.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 18:10:26 +00:00
kmillikin@chromium.org
c1bbd04dce
Remove the HInstruction utilities taking flag mask arguments.
...
It is a type error to treat a flag (an enum) as if it were a flag mask (an
int derived from shifting a bit by the enum value). It is error prone to
have functions that take flag mask arguments because they will silently
accept flags.
Review URL: http://codereview.chromium.org/6373011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 17:32:02 +00:00
kmillikin@chromium.org
09e967b38f
Use more detailed compilation info for inlined functions.
...
Construct the statically-known compilation info for inlined functions using
the target closure (which knows about its scope chain) and not from the
shared function info (which doesn't).
Review URL: http://codereview.chromium.org/6397004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 17:30:22 +00:00
fschneider@chromium.org
38b91a4ffe
Fix issue 1076 by resetting labels of switch-clauses before use.
...
If we compile a function literal twice with the full code generator,
we must make sure that the labels embedded in the AST are reset.
BUG=1076
Review URL: http://codereview.chromium.org/6339014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 15:28:17 +00:00
ager@chromium.org
eb3970c822
Fix another message object leak.
...
Review URL: http://codereview.chromium.org/6269021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 15:16:13 +00:00
antonm@chromium.org
be9f5d8548
Fix indentation.
...
TBR=serya@chromium.org
Review URL: http://codereview.chromium.org/6260021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 15:02:02 +00:00
kmillikin@chromium.org
884221f8f0
Change the default implementation of DataEquals for Hydrogen instructions.
...
The former default was true. The new default is false and the default
implementation is UNREACHABLE so it asserts in debug builds. The function
is overridden in all concrete instruction classes that might have the flag
kUseGVN set.
Review URL: http://codereview.chromium.org/6255013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 14:51:21 +00:00
whesse@chromium.org
75c6bffbd1
X64 Crankshaft: Fix compilation error on Windows X64.
...
Review URL: http://codereview.chromium.org/6338018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-26 13:54:25 +00:00